小编E. *_*ous的帖子

以编程方式更改TableView行外观

在做了关于TableViewOracle教程之后,我想知道是否有一种方法可以以编程方式将不同的CSS样式应用于所选的TableView行.例如,用户选择某一行,单击"突出显示"按钮,所选行获得棕色背景,白色文本填充等.我在JavaFX中阅读了JavaFX tableview颜色,用2种颜色更新TableView行外观背景?,但无济于事= /

这是来源:

import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class TableViewSample extends Application {

    private TableView<Person> table = new TableView<Person>();
    private final ObservableList<Person> data =
        FXCollections.observableArrayList(
            new Person("Jacob", "Smith", "jacob.smith@example.com"),
            new Person("Isabella", "Johnson", "isabella.johnson@example.com"),
            new Person("Ethan", "Williams", …
Run Code Online (Sandbox Code Playgroud)

java tableview javafx-2

32
推荐指数
3
解决办法
4万
查看次数

GridPane 水平/垂直填充整个舞台

这就是我使用 gridlines布局的样子,这就是我调整主窗口大小时的样子,这就是我想要的最终结果。基本上,我需要一些技巧来让我的 GridPane 水平和/或垂直填充整个舞台,同时它的一些单元格保持指定的宽度/高度。我已经尝试了目前能想到的所有方法,但仍然找不到解决方案。使用 AnchorPane 可能会帮助我实现想要的结果,但我仍在试图弄清楚如何。我不想使用 SceneBuilder,因为我不是“拖放”编程的忠实粉丝 =)

@Override
public void start(final Stage primaryStage){
    BorderPane border = new BorderPane();
    GridPane grid = new GridPane();

    grid.getColumnConstraints().add(new ColumnConstraints(70));     //column 1
    grid.getColumnConstraints().add(new ColumnConstraints());       //column 2
    grid.getColumnConstraints().add(new ColumnConstraints(70));     //column 3
    grid.getColumnConstraints().add(new ColumnConstraints(100));    //column 4
    grid.getColumnConstraints().add(new ColumnConstraints());       //column 5
    grid.getColumnConstraints().add(new ColumnConstraints());       //column 6
    grid.getColumnConstraints().add(new ColumnConstraints());       //column 7
    grid.getColumnConstraints().add(new ColumnConstraints());       //column 8

    grid.setVgap(10);
    grid.setHgap(5);
    grid.setPadding(new Insets(20,20,20,20));
    grid.setGridLinesVisible(false);

    Button btnDownload = new Button("Download next");
    Label lblDownloadNext = new Label("next …
Run Code Online (Sandbox Code Playgroud)

java eclipse user-interface javafx-2

2
推荐指数
1
解决办法
1万
查看次数

TimerTask无法更新JavaFX Label文本

我有一个相当简单的JavaFX GUI应用程序,它有一个标签,显示在某个操作开始之前剩余的时间.为此,我创建了一个DownloadTimer类,如下所示:

public class DownloadTimer(){
    private int minutes;        
    private int seconds;
    private Timer innerTimer = new Timer();
    private TimerTask innerTask;
    private boolean isActive;

    public DownloadTimer(int minutes, int seconds) {
        if (seconds > 60) {
            int minToAdd = seconds / 60;
            this.minutes = minutes;
            this.minutes += minToAdd;
            this.seconds = seconds % 60;
        } else {
            this.minutes = minutes;
            this.seconds = seconds;
        }
    }

    public void start() {
        innerTask = new TimerTask() {
            @Override
            public void run() {
                isActive = …
Run Code Online (Sandbox Code Playgroud)

java multithreading timer timertask javafx-2

2
推荐指数
1
解决办法
3124
查看次数