gpt4 book ai didi

java - 在 JavaFX 场景上预加载内容

转载 作者:行者123 更新时间:2023-11-30 08:13:26 25 4
gpt4 key购买 nike

如何在 JavaFX 场景中自动/启动时加载某些内容,例如 ComboBox 中的项目?

我使用Java 1.8.0_40

我以为应该是这样的,但是不行

public class Main extends Application {


public static void main(String[] args) throws SQLException {
launch(args);

}

@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Print Shop");
primaryStage.setScene(new Scene(root));
primaryStage.show();

Controller.addSelect();
}


public class Controller implements Initializable {

@FXML
private ComboBox<String> firstSortSelect;

public void addSelect() {
List<String> select = new ArrayList<String>();
select.add("smts1");
select.add("smts2");
for (String cat : select) {
firstSortSelect.getItems().add(cat);
}
}

错误是

Error:(26, 19) java: non-static method addSelect() cannot be referenced from a static context

如果我将方法更改为静态

Error:(202, 13) java: non-static variable firstSortSelect cannot be referenced from a static context

我不想动态创建界面/场景,只想创建数据

最佳答案

对不起,大家,我自己发现了。

只需在 Controller 中使用初始化方法

@Override
public void initialize(URL location, ResourceBundle resources) {
addSelect();
}

关于java - 在 JavaFX 场景上预加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30016053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com