编写程序ColorPane.java,实现下面的界面布局效果,并对每个按钮加载监听器,使得当按下一个按钮时,这个按钮的表面显现出与其上面所写的名字相同的颜色。
时间: 2023-06-27 19:02:18 浏览: 117
下面是ColorPane.java的代码实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ColorPane extends JFrame implements ActionListener {
private JButton redButton, greenButton, blueButton;
private JPanel colorPanel;
public ColorPane() {
super("Color Pane");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLayout(new BorderLayout());
redButton = new JButton("Red");
redButton.addActionListener(this);
greenButton = new JButton("Green");
greenButton.addActionListener(this);
blueButton = new JButton("Blue");
blueButton.addActionListener(this);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(1, 3));
buttonPanel.add(redButton);
buttonPanel.add(greenButton);
buttonPanel.add(blueButton);
colorPanel = new JPanel();
colorPanel.setBackground(Color.gray);
add(buttonPanel, BorderLayout.NORTH);
add(colorPanel, BorderLayout.CENTER);
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
String colorName = event.getActionCommand();
Color color = null;
if (colorName.equals("Red")) {
color = Color.red;
} else if (colorName.equals("Green")) {
color = Color.green;
} else if (colorName.equals("Blue")) {
color = Color.blue;
}
if (color != null) {
colorPanel.setBackground(color);
}
}
public static void main(String[] args) {
new ColorPane();
}
}
```
实现思路:
1. ColorPane类继承自JFrame,用于构建窗口界面。
2. 在构造函数中,设置窗口标题、关闭操作、大小和布局管理器。
3. 创建三个按钮对象,并为它们添加监听器,监听器实现为ColorPane类的内部类,实现ActionListener接口。
4. 创建一个面板对象,用于显示颜色。
5. 将按钮对象和面板对象添加到窗口中。
6. 在监听器中,根据按钮对象的名称设置面板的背景颜色。
7. 在main方法中,创建ColorPane对象,显示窗口界面。
阅读全文