我已閱讀了許多關於此主題的主題和問題,但似乎無法找到解決問題的可行解決方案。下面是用於添加和刪除組件的方法的代碼。動態刪除JPanel
public void addAuxPanel (String pType, int pStart, int pEnd) {
int id = mPanels.size();
int xPos = PANEL_START_X;
int yPos = PANEL_START_Y + (PANEL_HEIGHT * id) + 15;
if (id == 0) {
xPos = PANEL_START_X;
}
String type = pType;
int start = pStart;
int end = pEnd;
AuxPanel p = new AuxPanel(type, start, end, id, this);
mPanels.add(p);
p.setBounds(xPos, yPos, 300, 25);
getRootPane().add(p);
getRootPane().repaint();
getRootPane().revalidate();
}
public void removeAuxPanel (AuxPanel pPanel) {
getRootPane().remove(pPanel);
getRootPane().revalidate();
getRootPane().repaint();
}
爲了更好的幫助更快,發佈[SSCCE](http://sscce.org/)。 *「..沒有佈局來獲取我想要的面板上的元素。」*這可能是問題的核心。一旦佈局結束,期待各種各樣的驚喜。使用帶填充的佈局和組件的邊界來實現完全適合屏幕和PLAF的佈局,*和* robust。 – 2012-02-16 19:13:51