グリッドペインに行を挿入しようとしています。
どうすればいいですか?
さらに読み取り/情報/ effots:私はこれで行を追加することができましたGridpaneに行を挿入する
:
から私のオリジナルメニューのレイアウトを取る
add.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Peak thisPeak = new Peak();
MenuPeak dispPeak = new MenuPeak(thisPeak);
int row = 1+thisPeak.peakCount();
//psMenu.addRow(1+row);
psMenu.add(dispPeak.name,1,row,1,1);
psMenu.add(dispPeak.retTime,2,row,1,1);
psMenu.add(dispPeak.tol,3,row,1,1);
}
});
〜
私は何人かの人々がのAddRowを使用して提案し、グーグルでみました。私はいくつかのバリエーションを試してみた(現在は1は、私が提供するスニペットでコメントアウトされ
これはちょうど見られるように、私のボタンを上書き終わる:。
は私が最終的にそれを挿入したいのですこのような(ハードコードされたピークの線)などのボタンの間に行:
はおそらくよりよい解決策があるが、私は要素のボタンを再度追加することによって、ある程度の成功を発見しましたもう一度、これはいくつかのランタイムエラーを生成していますまだ動作していますか?この
作った
add.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Peak thisPeak = new Peak();
MenuPeak dispPeak = new MenuPeak(thisPeak);
int row = thisPeak.peakCount();
psMenu.addRow(1+row);
psMenu.add(dispPeak.name,1,row,1,1);
psMenu.add(dispPeak.retTime,2,row,1,1);
psMenu.add(dispPeak.tol,3,row,1,1);
row++;
psMenu.add(save,1,row,1,1);
psMenu.add(cancel,2,row,1,1);
psMenu.add(okay,3,row,1,1);
}
});
しかし、再び、実行時エラーが重複した子を追加不満。スレッド内
例外 "のJavaFXアプリケーションスレッド" java.lang.IllegalArgumentExcepti上:子供:子供複製 が追加さ:親=グリッドhgap = 10.0、VGAP = 10.0、alig nment = TOP_CENTER をjavafx.sceneで。 com.sun.javafx.collections.VetoableListDecorator.addで親の$ 2.onProposedChange(Parent.java:454) (VetoableListDeco rator.java:206)
EDIT:答えが正しいとの正確な実装私の修正は:
add.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Peak thisPeak = new Peak();
MenuPeak dispPeak = new MenuPeak(thisPeak);
int row = 1+thisPeak.peakCount();
psMenu.setRowIndex(save,row);
psMenu.setRowIndex(cancel,row);
psMenu.setRowIndex(okay,row);
psMenu.addRow(row-1, dispPeak.name, dispPeak.retTime, dispPeak.tol);
}
});
うわー!私はちょうどこれも考え出した。私はこの答えを受け入れています!ありがとうございました!私はそれでたくさん遊んでいた。私は、新しいアイテムを追加する前に、行インデックスを設定して、より良い動作を見つけました。私は新しいピークを追加するためにaddrowを使用していましたが、それはその行のボタンの後に挿入していました – Chemistpp