【发布时间】:2013-04-30 16:37:47
【问题描述】:
我有一个 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 时,会添加这个?
【问题讨论】:
-
当你说它不起作用时,你得到什么错误?
-
@rahulmaindargi 它只是没有添加 JButton
-
你是怎么把监听器放在第一个按钮上的?
-
您正在将其添加到具有操作侦听器的容器中。您应该保留对要添加它的容器的引用并将其添加到那里。取决于布局管理器等。你明白这每次都会发生吗?
-
如果您提供更多相关代码会有所帮助,这样我们就不必猜测了。调用 invalidate 也可能有帮助。
标签: java swing button jbutton actionlistener