请大佬给我一个java swing,下拉列表框和下拉列表的例子尽量简单,需要较多注释谢谢。。

请大佬给我一个javaswing,下拉列表框和下拉列表的例子尽量简单,需要较多注释谢谢。。大佬请给我例子谢谢。。... 请大佬给我一个java swing,下拉列表框和下拉列表的例子尽量简单,需要较多注释谢谢。。大佬请给我例子谢谢。。 展开
 我来答
yinfengnong
2018-07-08 · TA获得超过5619个赞
知道大有可为答主
回答量:2344
采纳率:89%
帮助的人:2288万
展开全部

代码如下:

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);
}
}

运行结果:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式