私のGUIでは、他の要素を含むTabPane
を表示しようとしています。TabPane(JavaFX)を初期化する方法
特定のシーンの初期化メソッドを呼び出すときに、必要なデータを最初のタブに追加できます。私は二番目にアクセスし、そこにデータを追加するにはどうすればよい
? `
initializeメソッドから、それまでにuは、単一のタブを切り替えるか、それが可能であるときに呼び出されるメソッドはありますか?
//all the fields
@FXML
private void initialize() {
smsHandynumberColumn.setCellValueFactory(cellData -> cellData.getValue().numberProperty());
smsHandyproviderColumn.setCellValueFactory(cellData -> cellData.getValue().providerProperty());
displayHandyDetails(null);
smsHandyList.getSelectionModel().selectedItemProperty()
.addListener((observable, oldValue, newValue) -> displayHandyDetails(newValue));
// providernameColumn.setCellValueFactory(cellData -> cellData.getValue().nameProperty());
// provideramountColumn.setCellValueFactory(cellData -> cellData.getValue().sizeProperty());
}
@FXML
private void displayHandyDetails(SmsHandy handy) {
if (handy != null) {
handyNumberLabel.setText(handy.getNumber());
providerLabel.setText(handy.getProvider().getName());
registerLabel.setText(handy.getDate().toString());
receivedLabel.setText(Integer.toString(handy.getReceivedList().size()));
sentLabel.setText(Integer.toString(handy.getSentList().size()));
if (handy instanceof PrepaidSmsHandy) {
balanceLabel.setText(Integer.toString(handy.getProvider().getCreditForSmsHandy(handy.getNumber()))
+ " Cent on account");
typeLabel.setText("Prepaid");
} else {
balanceLabel.setText(
Integer.toString(((TariffPlanSmsHandy) handy).getRemainingFreeSms()) + " free SMS left");
typeLabel.setText("Tariff-Plan");
}
} else {
handyNumberLabel.setText(" ");
providerLabel.setText(" ");
registerLabel.setText(" ");
typeLabel.setText(" ");
balanceLabel.setText(" ");
receivedLabel.setText(" ");
sentLabel.setText(" ");
}
}
public void setMainApp(MainApp mainApp) {
this.mainApp = mainApp;
smsHandyList.setItems(mainApp.getHandyList());
}
}
したがって、これはコントローラのクラスです。それがそうであるように、私はobvを働かせることができます。最初のタブペインが表示されます(デフォルトで表示されます)。
FXMLファイル:http://pastebin.com/MQ0C8EWD
最初に:はい、それは質問です:)事は次のとおりです。私は、initializeメソッドから2番目のペインのテーブルにアクセスすることはできません。そこにはnullpoint例外が発生しています。私はそれをコピーします。 – Master1114
はい、FXML注入部品も含めてください – DVarga
またはコントローラ全体を投稿する方が良いです。 – DVarga