我有一个程序出错的例子。我创建了4个按钮:1,2,3,4。按钮2与按钮4重叠,我刚刚添加了2和4的事件。
如果我点击按钮2,它将被隐藏,按钮4将被显示。如果我点击按钮4,按钮2会显示出来,按钮4会再次被按钮2覆盖。好像发生了什么,但是,当我点击按钮1或按钮3完成上述操作后,按钮4将显示,当我指向它(不点击),它将消失。
public class UI extends JFrame {
public UI(String title) {
Container container = this.getContentPane();
container.setLayout(null);
JButton btn1 = new JButton("1");
btn1.setBounds(10, 10, 50, 50);
btn1.setBackground(Color.RED);
JButton btn2 = new JButton("2");
btn2.setBounds(10, 70, 50, 50);
btn2.setBackground(Color.GREEN);
JButton btn3 = new JButton("3");
btn3.setBounds(10, 130, 50, 50);
btn3.setBackground(Color.BLUE);
JButton btn4 = new JButton("4");
btn4.setBounds(10, 70, 50, 50);
btn4.setBackground(Color.YELLOW);
container.add(btn1);
container.add(btn2);
container.add(btn3);
container.add(btn4);
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
btn2.setVisible(false);
}
});
btn4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
btn2.setVisible(true);
}
});
this.setSize(400, 500);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
}
单列彩色按钮
2条答案
按热度按时间yrdbyhpb1#
您只是在
actionPerformed()
方法。你需要改变两者的可见性JButton
s、 不止一个。这是你的密码。我只添加了两行,它们由注解指示
// ADDED THIS LINE
```public class UI extends JFrame {
}
vwkv1x7d2#
这是一个gui,其中按钮2变为按钮4。
我是怎么做到的?很简单。我只用了三个
JButtons
.我改变了第二个按钮的文本和第二个按钮的背景色,就像安德鲁·汤普森建议的那样。
下面是完整的可运行代码。你知道吗,这是一个最小的可运行的例子!