请大佬给我一个java swing,下拉列表框和下拉列表的例子尽量简单,需要较多注释谢谢。。
请大佬给我一个javaswing,下拉列表框和下拉列表的例子尽量简单,需要较多注释谢谢。。大佬请给我例子谢谢。。...
请大佬给我一个java swing,下拉列表框和下拉列表的例子尽量简单,需要较多注释谢谢。。大佬请给我例子谢谢。。
展开
1个回答
展开全部
代码如下:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import javax.swing.*;
public class App extends JFrame {
private JComboBox<String> comboBox;
private JList<String> list;
public App() {
this.setSize(300, 200);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); // 设置关闭方式
this.setLayout(new FlowLayout());
// 定义一些选项
String[] options = { "红", "黄", "蓝", "绿" };
// 创建下拉列表
comboBox = new JComboBox<>(options);
// 添加选择事件监听器,选择时触发
comboBox.addItemListener(e -> {
if (e.getStateChange() == ItemEvent.SELECTED)
setBackground((String)e.getItem());
});
this.add(comboBox);
// 创建列表框
list = new JList<>(options);
list.setPreferredSize(new Dimension(50, 50));
// 添加选择事件监听器,选择时触发
list.addListSelectionListener(e -> setBackground(options[list.getSelectedIndex()]));
this.add(new JScrollPane(list));
}
// 设置窗口背景
private void setBackground(String color) {
switch(color) {
case "红":
getContentPane().setBackground(Color.RED);
break;
case "黄":
getContentPane().setBackground(Color.YELLOW);
break;
case "蓝":
getContentPane().setBackground(Color.BLUE);
break;
case "绿":
getContentPane().setBackground(Color.GREEN);
break;
}
}
public static void main(String[] args) {
new App().setVisible(true);
}
}
运行结果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询