Javafx 2 在选项卡窗格中调用selectionModel().select()时执行NPE
这是我的密码:Javafx 2 在选项卡窗格中调用selectionModel().select()时执行NPE,javafx-2,Javafx 2,这是我的密码: public class TabApp implements Initializable { @FXML Button newButton; @FXML TabPane tabPane = new TabPane(); public Tab newTab; private SingleSelectionModel<Tab> selectionModel; public int zQueryTabCount =
public class TabApp implements Initializable {
@FXML
Button newButton;
@FXML
TabPane tabPane = new TabPane();
public Tab newTab;
private SingleSelectionModel<Tab> selectionModel;
public int zQueryTabCount = 2;
@FXML
public void handleNewButton(ActionEvent event) {
System.out.println("new button is pressed");
newTab = new Tab();
selectionModel.select(newTab);
newTab.setId("Query " + zQueryTabCount);
newTab.setText("Query " + zQueryTabCount);
tabPane.getTabs().add(tabPane.getTabs().size(), newTab);
tabPane.getTabs().get(0).setClosable(false);
newTab.setClosable(true);
if (zQueryTabCount < 2) {
tabPane.getTabs().get(0).setClosable(false);
}
zQueryTabCount++;
}
}
public类TabApp实现可初始化{
@FXML
纽扣;
@FXML
TabPane TabPane=新建TabPane();
公共选项卡;
私有单选择模型选择模型;
公共int zQueryTabCount=2;
@FXML
公共无效handleNewButton(ActionEvent事件){
System.out.println(“按下新按钮”);
newTab=新选项卡();
selectionModel.select(newTab);
setId(“查询”+zQueryTabCount);
newTab.setText(“查询”+zQueryTabCount);
tabPane.getTabs().add(tabPane.getTabs().size(),newTab);
tabPane.getTabs().get(0).setClosable(false);
newTab.setClosable(真);
if(zQueryTabCount<2){
tabPane.getTabs().get(0).setClosable(false);
}
zQueryTabCount++;
}
}
我在selectionModel.select(newTab)行获得NullPointerException
代码>
我如何解决它 您的selectionModel
变量未初始化,也未附加到选项卡窗格
使用下一个呼叫:
[...]
tabPane.getTabs().add(tabPane.getTabs().size(), newTab);
// should be called after tab has been added to TabPane
tabPane.getSelectionModel().select(newTab);
您的selectionModel
变量未初始化,也未附加到选项卡窗格
使用下一个呼叫:
[...]
tabPane.getTabs().add(tabPane.getTabs().size(), newTab);
// should be called after tab has been added to TabPane
tabPane.getSelectionModel().select(newTab);