我試圖在網格窗格中插入一行。
我該如何做到這一點?
延伸閱讀/信息/ 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。我試過幾個變體(目前一個在我公司提供的片斷註釋掉
這最終只是覆蓋我的按鈕,如圖:
我想最終它插入按鈕本身(硬編碼的峯線)之間行:
也許有一個更好的解決方案,但我發現了一些成功通過重新添加元素按鈕再次,但這是產生一些運行時錯誤,但仍在工作?
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市民明白= TOP_CENTER 在javafx.scene。家長$ 2.onProposedChange(Parent.java:454) 在com.sun.javafx.collections.VetoableListDecorator.add(VetoableListDeco rator.java:206)
編輯:答案是正確的,準確的實施我的更正是:
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);
}
});
哇!我只是想到了這一點。我接受這個答案!謝謝!我當時玩的很多。通過在添加新項目之前設置行索引,我發現我的行爲更好,只是FYI。我正在使用addrow添加我的新峯值,並且它在該行中的按鈕之後插入 – Chemistpp