【发布时间】:2013-05-22 09:00:47
【问题描述】:
我对 java 很陌生,不知道我可以使用哪些方法来实现我想要做的事情。 我需要制作一个模拟电灯开关的程序。一个按钮可以打开和关闭灯。我在触发事件之前将背景颜色设置为深灰色,在触发事件之后将背景颜色设置为黄色。我遇到的问题是当背景为黄色时,如何使用相同的按钮将其更改回深灰色?
我的代码:
import javax.swing.JApplet;
import javax.swing.JButton;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Question2 extends JApplet implements ActionListener {
public void init() {
Container contentPane = getContentPane();
contentPane.setBackground(Color.DARK_GRAY);
contentPane.setLayout(new FlowLayout());
JButton OnOffSwitch = new JButton("On/Off");
contentPane.add(OnOffSwitch);
OnOffSwitch.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
Container contentPane = getContentPane();
if (e.getActionCommand().equals("On/Off"))
contentPane.setBackground(Color.YELLOW);
else
contentPane.setBackground(Color.DARK_GRAY);
}
}
【问题讨论】:
-
“一个开关灯的按钮。”为此使用
JToggleButton或JCheckBox。 -
JApplet为什么要编写小程序?如果是由于规范。老师请发给Why CS teachers should stop teaching Java applets。 -
虽然布尔值是要走的路(更好的是,遵循@andrew 的建议),但您自己实际上是在正确的道路上。除了将标签设置为
On/Off,您还可以使用Turn On对其进行初始化,如果发现它等于actionPerformed,则将颜色更改为黄色并将新标签设置为Turn Off。不过不建议使用它,这只是为了您的知识:)
标签: java swing jbutton japplet