在java中,使用JComboBox控件写入红,绿,蓝三中颜色,要求写出以下代码,当选中其中一种颜色时背景颜色改为对应颜色·。
时间: 2024-03-02 07:53:58 浏览: 21
好的,以下是一个示例代码:
```java
import java.awt.Color;
import java.awt.EventQueue;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ColorComboBoxExample {
private JFrame frame;
private JComboBox<String> colorComboBox;
private JPanel colorPanel;
private final String[] COLOR_NAMES = {"Red", "Green", "Blue"};
private final Color[] COLORS = {Color.RED, Color.GREEN, Color.BLUE};
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
try {
ColorComboBoxExample window = new ColorComboBoxExample();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
});
}
public ColorComboBoxExample() {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
colorComboBox = new JComboBox<>(COLOR_NAMES);
colorComboBox.addActionListener(e -> {
int selectedIndex = colorComboBox.getSelectedIndex();
Color selectedColor = COLORS[selectedIndex];
colorPanel.setBackground(selectedColor);
});
colorComboBox.setBounds(10, 10, 100, 21);
frame.getContentPane().add(colorComboBox);
colorPanel = new JPanel();
colorPanel.setBounds(120, 10, 304, 241);
frame.getContentPane().add(colorPanel);
}
}
```
代码中创建了一个 JFrame,其中包含一个 JComboBox 和一个 JPanel。JComboBox 中包含三个选项:“Red”、“Green”和“Blue”,对应着三种不同的颜色。每当 JComboBox 中的选项改变时,JPanel 的背景颜色都会相应地改变。在 ActionListener 中,使用 JComboBox 的 getSelectedIndex 方法获取选中的选项的索引,然后使用索引获取对应的颜色,并将其设置为 JPanel 的背景颜色。