私は最初のjavaFXプログラムを作成しました。これには55個のボタンがあり、押されたボタンのIDを取得して各ボタンのハンドラを作成せずに変数に保存する方法を見つけようとしています。ボタンから名前/ IDを取得
編集:私は8個のGridPaneに合計160個のボタンを記入することができ、すべてのボタンが私に名前を返します。誰かが興味を持っている場合に備えて、私はこのソリューションを追加しました
ありがとうございました。
for(int i = 1; i < 9; i++) {
for (int j = 0; j < 5; j++) {
for (int k = 0; k < 4; k++) {
String buttonText = "" + buttoncounter;
Button button = new Button(buttonText);
switch(i){
case 1: gp1.add(button, k, j);
break;
case 2: gp2.add(button, k, j);
break;
case 3: gp3.add(button, k, j);
break;
case 4: gp4.add(button, k, j);
break;
case 5: gp5.add(button, k, j);
break;
case 6: gp6.add(button, k, j);
break;
case 7: gp7.add(button, k, j);
break;
case 8: gp8.add(button, k, j);
}
button.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
button.setOnAction(e -> {
buttonPressed = Integer.parseInt(buttonText);
});
buttoncounter++;
}
}
}
使っ名は' – nullpointer
ボタンが作成されるとすぐにプログラムが起動します。ボタンがまだ作成されていない場合は、どうすればbutton.getName()でアクセスできますか?申し訳ありませんが、私はこれで新しく、私はまだそれを取得しません。 – Michael95
@nullpointer ['javafx.scene.control.Button']には' name'プロパティはありません(https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Button.html)。 )@ Michael95なぜ 'initialize'メソッドで使われていないボタンを作るのですか? – fabian