这是一个JAVA中的Swing下拉列表框问题

我想弄一个窗体,里面有一个下拉列表框,假设里面内容是各种颜色,我要怎么做可以识别我选中的是哪种颜色,然后让窗体颜色和选中颜色相同,主要就是怎么识别选中的内容是哪一个,请各... 我想弄一个窗体,里面有一个下拉列表框,假设里面内容是各种颜色,我要怎么做可以识别我选中的是哪种颜色,然后让窗体颜色和选中颜色相同,主要就是怎么识别选中的内容是哪一个,请各位大神帮帮忙,谢谢 展开
 我来答
yinfengnong
2018-07-02 · TA获得超过5619个赞
知道大有可为答主
回答量:2344
采纳率:89%
帮助的人:2288万
展开全部

代码如下:

import java.awt.Color;
import java.awt.FlowLayout;

import javax.swing.JComboBox;
import javax.swing.JFrame;

class ColorItem {

private String name;

private Color color;

public ColorItem(String name, Color color) {
this.name = name;
this.color = color;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Color getColor() {
return color;
}

public void setColor(Color color) {
this.color = color;
}

@Override
public String toString() {
return getName();
}
}

public class App extends JFrame {

public App() {

this.setSize(500, 500);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());

JComboBox<ColorItem> cbxColor = new JComboBox<>();
cbxColor.addItem(new ColorItem("红", Color.RED));
cbxColor.addItem(new ColorItem("绿", Color.GREEN));
cbxColor.addItem(new ColorItem("蓝", Color.BLUE));
cbxColor.addItem(new ColorItem("黄", Color.YELLOW));

cbxColor.addItemListener(e -> {
ColorItem item = (ColorItem)e.getItem();
getContentPane().setBackground(item.getColor());
});
this.add(cbxColor);

getContentPane().setBackground(cbxColor.getItemAt(0).getColor());
}

public static void main(String[] args) {
new App().setVisible(true);
}
}

运行结果:

GTA小鸡
高粉答主

2018-07-02 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
JComboBox提供getSelectedItem()方法返回当前被选中的对象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式