编写一个应用程序,实现如下图所示的图形界面,要求单击按钮将窗口的背景颜色设置为相应的颜色。设置颜色可以调用容器的setBackground(Color c)方法,参数Color可以使用java awt.Color类的常量,如Color.RED等。
时间: 2024-03-02 12:53:36 浏览: 64
下面是一个简单的Java Swing应用程序,实现了上述要求:
```java
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ColorChanger extends JFrame implements ActionListener {
private JButton redButton;
private JButton greenButton;
private JButton blueButton;
public ColorChanger() {
setTitle("Color Changer");
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(1, 3));
redButton = new JButton("Red");
greenButton = new JButton("Green");
blueButton = new JButton("Blue");
redButton.addActionListener(this);
greenButton.addActionListener(this);
blueButton.addActionListener(this);
buttonPanel.add(redButton);
buttonPanel.add(greenButton);
buttonPanel.add(blueButton);
add(buttonPanel);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == redButton) {
getContentPane().setBackground(Color.RED);
} else if (e.getSource() == greenButton) {
getContentPane().setBackground(Color.GREEN);
} else if (e.getSource() == blueButton) {
getContentPane().setBackground(Color.BLUE);
}
}
public static void main(String[] args) {
new ColorChanger();
}
}
```
在这个例子中,我们创建了一个JFrame窗口,并在其中添加了三个JButton按钮。我们还实现了ActionListener接口,并为每个按钮添加了一个ActionListener监听器。当用户单击任何一个按钮时,就会调用actionPerformed方法,并根据按钮的标识来设置窗口的背景颜色。最后,我们将这个窗口显示出来。
阅读全文