在JavaFX场景上预加载东西

时间:2015-05-03 16:05:54

标签: java javafx java-8

如何在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);
    }
}

错误是

  

错误:(26,19)java:非静态方法addSelect()无法从静态上下文引用

如果我将方法改为静态

  

错误:(202,13)java:非静态变量firstSortSelect无法从静态上下文引用

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

0 个答案:

没有答案