如何让JComboBox中的某项不可选但其他的项可选.

我是想让这个事件没起作用.下面这位朋友,你做得不行.因为第四项还是可以选的.我是想让它不能选.当点击第四项的时候,相当于它的事件没有起到任何作用.记住,是该事件没有起到任... 我是想让这个事件没起作用.下面这位朋友,你做得不行.因为第四项还是可以选的.我是想让它不能选.当点击第四项的时候,相当于它的事件没有起到任何作用.记住,是该事件没有起到任何作用.提示:要重写JCombox组件中的事件.但是具体我不知道怎么写.所以请高手帮忙.如果你写出来了,别说再给你加20分了,我所有的分都可以给你. 展开
 我来答
hardneedl
2008-04-26 · TA获得超过921个赞
知道小有建树答主
回答量:1353
采纳率:57%
帮助的人:605万
展开全部
请读代码行上的注释.如果认为可行,请加分至100,谢谢
---------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
final public class StrangeCombox extends JFrame {
private JComboBox combox;
private Option[] datas;
public StrangeCombox() throws HeadlessException {
init();doLay();attachListeners();
}

private void init(){
combox = new JComboBox(datas = new Option[]{
new Option(1,"first"),
new Option(2,"second"),
new Option(3,"third"),
new Option(4,"fourth"),
new Option(5,"fifth")
});
}

private void doLay(){
getContentPane().add(combox,BorderLayout.CENTER);
pack();
setVisible(true);
}

private void attachListeners(){
combox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {

Object item = e.getItem();

//第四个选项被选中时候不打印选中条目的 toString() 方法的返回结果
if (e.getStateChange() == ItemEvent.SELECTED &&
!item.equals(datas[3])) {

((JComboBox)e.getSource()).dispatchEvent(e);

//请观察此条打印在运行期间的表现情况
System.out.println(e.getItem());

}
}
});

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

final private class Option{
private int code;private String name;
private Option(int c,String n){code=c;name=n;}
public String toString(){return name;}
private int getCode(){return code;}
public boolean equals(Object obj) {
return obj != null &&
obj instanceof Option &&
((Option)obj).getCode()==code;
}
}

public static void main(String[] args) {new StrangeCombox();}
}
启帆信息
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!... 点击进入详情页
本回答由启帆信息提供
匿名用户
2008-04-23
展开全部
构造一个按钮组组件ButtonGroup
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式