0

タスク: パネルからいくつかのコントロールを削除してから、新しいコントロールを追加します。

問題: いくつかの方法を完了すると、古いコントロールが消えますが、新しいコントロールが表示されません。

コード:

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

}}}

誰かが問題/間違いを知っていますか?

4

1 に答える 1

1

ActionPanelが のインスタンスである場合、JComponent以下を使用できます。

ActionPanel.revalidate();

さもないと

ActionPanel.invalidate();
ActionPanel.validate();
于 2013-05-17T09:25:36.617 に答える