java1.设计一个包含三个单选按钮,背景色分别为红色、绿色和蓝色的GUI,效果如图所示。 要求: 1) 窗体标题命名为“颜色选择器”。(4分) 2) 使用边界布局管理器BorderLayout。(4分) 3) 使用单选按钮JRadioButton组件。(7分) 4) 添加事件监听器,实现背景色分别为红色、绿色和蓝色。(15分)
时间: 2024-03-01 08:55:43 浏览: 64
以下是Java代码实现:
```
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
public class ColorPicker extends JFrame implements ActionListener {
private JPanel colorPanel;
private JRadioButton redButton, greenButton, blueButton;
public ColorPicker() {
setTitle("颜色选择器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 300);
setLocationRelativeTo(null);
colorPanel = new JPanel();
add(colorPanel, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
redButton = new JRadioButton("红色");
greenButton = new JRadioButton("绿色");
blueButton = new JRadioButton("蓝色");
ButtonGroup group = new ButtonGroup();
group.add(redButton);
group.add(greenButton);
group.add(blueButton);
redButton.addActionListener(this);
greenButton.addActionListener(this);
blueButton.addActionListener(this);
buttonPanel.add(redButton);
buttonPanel.add(greenButton);
buttonPanel.add(blueButton);
add(buttonPanel, BorderLayout.SOUTH);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == redButton) {
colorPanel.setBackground(Color.RED);
} else if (e.getSource() == greenButton) {
colorPanel.setBackground(Color.GREEN);
} else if (e.getSource() == blueButton) {
colorPanel.setBackground(Color.BLUE);
}
}
public static void main(String[] args) {
ColorPicker picker = new ColorPicker();
picker.setVisible(true);
}
}
```
代码解释:
- 首先创建一个JFrame窗体,设置标题和关闭操作,大小为300x300,并居中显示。
- 创建一个JPanel作为颜色展示面板,添加到窗体的中央位置。
- 创建一个JPanel作为按钮面板,使用边界布局管理器BorderLayout,并添加到窗体的南部位置。
- 创建三个单选按钮JRadioButton,分别为“红色”、“绿色”、“蓝色”,并添加到按钮面板中。
- 使用ButtonGroup将按钮组合在一起,使它们只能选择其中一个。
- 为每个单选按钮添加事件监听器,当单选按钮被选中时,调用actionPerformed()方法,根据选中的按钮设置颜色展示面板的背景色。
- 在main()方法中创建ColorPicker对象,并将其设置为可见状态。
运行程序,即可看到一个颜色选择器界面,单选按钮可以选择不同的颜色,颜色展示面板的背景色会随着按钮的选择而改变。
阅读全文