BorderPane
のcenter
ノードは単一ノードです。複数のノードを追加することはできません。つまり、適切なParent
に追加する必要があります。コメントでmetioned問題として
@Override
public void start(Stage primaryStage) {
BorderPane pane = new BorderPane();
Button[][] keys = new Button[3][];
for (int i = 0; i < 3; i++) {
int num = (12 - i)/3;
Button[] column = new Button[num];
keys[i] = column;
for (int j = 0, key = 7 + i; j < num; j++, key -= 3) {
Button button = new Button(Integer.toString(Math.max(0, key)));
column[j] = button;
// make button width resizeable
button.setMaxWidth(Double.MAX_VALUE);
// buttons should fill the available width
GridPane.setFillWidth(button, Boolean.TRUE);
}
}
GridPane gpane = new GridPane();
for (int i = 0; i < keys.length; i++) {
Button[] column = keys[i];
gpane.addColumn(i, Arrays.copyOf(column, column.length, Node[].class));
}
// make 0-Button fill 3 columns
GridPane.setColumnSpan(keys[0][3], 3);
pane.setCenter(gpane);
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.show();
}
:GridPane
は
例適当な候補であろうi=list.length()
に割り当て、従って結果であるので
for(int i=0; i=list.length(); i++)
エラーを生じますこの場合、int
の割り当ての対象と同じタイプです。 Javaでは、for
ループの真ん中の式は、boolean
の型を持つことが期待されています。代入演算子=
を等価演算子==
と混同しましたが、ここでは不等号でなければなりません。長さに達していない限りループが実行されるはずです。さらに、()
括弧は、長さを返す配列内にメソッドがないため、私には疑わしいと思われます。これはフィールドです。
for(int i=0; i!=keys.length; i++)
「GridPane」にボタンを追加してみませんか? – trashgod
グリッド区画を追加し、境界区画--- bpane.setCenter(gpane)に配置しました。しかし、gpane自体にボタンを追加すると、ループを使って自動化します。 (キー[i] [j]、i、j)私は、ここでは - > for(int i = 0; i = list.length(); i ++){for j .......} {gpane.add別のエラーが発生します。 Intはブール値に変換できません。申し訳ありませんが、私はnoob笑です。 @trashgod –