JAVA无法在面板中看到添加的组件

时间:2013-05-17 09:17:46

标签: java swing jpanel jlabel repaint

任务:从面板中删除多个控件,然后添加新控件。

问题:完成几种方法后,旧控件会消失,但我看不到新的控件。

代码:

    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]);

}}}

有人知道问题/错误在哪里吗?

1 个答案:

答案 0 :(得分:1)

如果ActionPanelJComponent的实例,您可以使用:

ActionPanel.revalidate();

否则

ActionPanel.invalidate();
ActionPanel.validate();