任务:从面板中删除多个控件,然后添加新控件。
问题:完成几种方法后,旧控件会消失,但我看不到新的控件。
代码:
public void StartGame() {
ActionPanel.removeAll();
CreateOponentField();
ActionPanel.repaint();
}
private void CreateOponentField() {
ActionPanel.setLayout(new java.awt.GridLayout(10, 10));
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
LabelArray[i][j] = new JLabel();
LabelArray[i][j].setOpaque(true);
LabelArray[i][j].setBackground(BattleShipEnumClass.ColorMap.get(GridCellState.EMPTY));
LabelArray[i][j].setBorder(new LineBorder(Color.BLACK));
ActionPanel.add(LabelArray[i][j]);
}}}
有人知道问题/错误在哪里吗?
答案 0 :(得分:1)
如果ActionPanel
是JComponent
的实例,您可以使用:
ActionPanel.revalidate();
否则
ActionPanel.invalidate();
ActionPanel.validate();