0

我有一个 JButton,我想在按下它时创建一个新的 JButton 我添加了一个看起来像这样的 ActionListener,但它没有添加另一个 JButton。

public void actionPerformed(ActionEvent e){
        Object command = e.getSource();
        if(command.equals(play)){
            ImageIcon i1 = new ImageIcon("NewGame.png");
            width = i1.getIconWidth();
            height = i1.getIconWidth();
            newGame = new JButton(i1);
            newGame.setBorderPainted(false);
            newGame.setContentAreaFilled(false);
            newGame.setSize(width, height);
            newGame.setLocation(600,100);
            add(newGame);
            System.out.println("It Works");
        } 
    } 

我将如何做到这一点,以便当我按下已经存在的 JButton 时会添加这个?

4

3 回答 3

1

确保在添加按钮revalidate之后repaint

revalidate();
repaint();

从 and 的使用来看setSizesetLocation您似乎正在使用绝对定位或null布局。使用布局管理器。

于 2013-04-30T16:40:50.633 回答
0

添加后必须调用repaint()

于 2013-04-30T16:39:47.357 回答
0

如果您没有遇到异常,那么您将需要刷新或重新绘制旧按钮的容器。

于 2013-04-30T16:42:41.943 回答