Java中的JPanel问题

时间:2011-01-30 18:32:05

标签: java swing jpanel

美好的一天!

我在重置JPANEL的内容时遇到问题。是否有删除JPANEL所有内容的方法?

我正在制作一个HangMan游戏。我需要初始化我的面板让位给下一个级别。我的面板是使用Netbeans GUI创建的,所有内容都是固定的(即使是位置和大小)。

我的SAMPLE代码如下:

 public MainGame(JDialog owner) {
        super(owner, true);
        initComponents();
        newGame();
    }

    void newGame() {
         jPanel3.setLayout(new GridLayout(3, 9, 3, 5));
         for (char buttonChar = 'a'; buttonChar <= 'z'; buttonChar++) {
             String buttonText = String.valueOf(buttonChar);
             letterButton = new JButton(buttonText);
             letterButton.addActionListener(this);
             jPanel3.add(letterButton);
         }
    }

    void checkHame(){
         newGame();   //I CALL AGAIN TO GO TO THE NEXT LEVEL...
    }

在我的代码中,jPanel3是使用netbeans的GUI创建的。我的问题是,在第一次调用newGame方法时,JPanel3充满了内容..我需要删除第二个newGame调用里面的所有内容,否则所有内容都会添加或加倍。

任何建议都将受到高度赞赏。

再次感谢你!

干杯。

3 个答案:

答案 0 :(得分:2)

此外,您可能需要调用revalidate()&amp; removeAll后重绘()

答案 1 :(得分:2)

如何在jPanel3.removeAll()之前进行for loop

removeAll()的定义: -

  

public void removeAll()

Removes all the components from this container.

答案 2 :(得分:1)

您可以使用removeAll方法。

不是删除组件,而是考虑将按钮的状态重置为原始状态,然后重复使用按钮。