请教javaSE中Jtable中加入jcombobox并设置可编辑,不按enter键无法保存当前值的原因? jtable中设置某一列我combobox,并实现了可编辑,但我遇到个问题:可编辑状态手动输入不按enter键combobox清除当前我输入的值,必须离开jtable或者按了enter键才会显示该值。请教一下这是为什么? 应当如何修改呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是加了一个Ancestorlistener监听器,但是出现编写某一个下拉框数据切换到宁一个是把值带过去了不知道怎么解决 jcombobox 先设置可编辑,然后对getEdit()添加一个监听器,然后把监听到的内容加入item中。 getEditor() 是对jcombox添加吗? jcombobox.getEditor().addactionlistener(){};可以用内部匿名类形式添加。 jcombobox.getEditor().addactionlistener(){};可以用内部匿名类形式添加。不起效果啊,是要我在acenser监听里面搞吗?我在外面加这个事件根本进不去啊 jcombobox.getEditor().addactionlistener(){};可以用内部匿名类形式添加。不起效果啊,是要我在acenser监听里面搞吗?我在外面加这个事件根本进不去啊我的代码大概是这样的cobx初始化cbox.geteditor().addActinglinster(new actional(){...})tablecelleditor editor = new defaultcelleditor(cbox)column.setcelleditor(ditor) 差不多下面这样,下面用了lambda表达式替代了匿名类效果一样的comboBox.getEditor().addActionListener(e -> { Object newItem = comboBox.getEditor().getItem(); DefaultComboBoxModel d = (DefaultComboBoxModel) comboBox.getModel(); d.addElement(newItem); d.setSelectedItem(newItem); }); 你这个事件是enter后才触发啊 你总要有一个触发点啊,不然程序怎么知道你输入完成了,实时开销太大了。我现在的问题就是加了一个TableAncestorListener后就可以实现实时输入,只是当点击第一个combox输入后点击下一个直接把值带到了下一个combox里面,想要解决这个问题,宁外这种情况是jdk8的问题用jdk6就没有这个问题 你可以试试设置离开监听器,combobox内容初始化 设置为“”。 TableAncestorListener你用这个容器改变监听器来监听combobox内容改变,我总觉得有点张冠李戴。起码要加在combobox上啊! 我就是要去改变这个table的值啊 我也重写了defaultCellEditor也实现了但是还是那个问题 就是 填写一个combox值后再跳到下一个combox直接把值带过去了不知道怎么去解决 我就是要去改变这个table的值啊当然要加在combo上,你加在table上哪个combo的变化对table来说都是一样的,监听没有中断,所以结果会被带到下一个combo, 但是当combox里面有值时就不会出错 如何循环手动输入单个字符到数组? 我想学习java,不知从哪里学习.. 有现成的颜色对话框吗 关于线程循环问题 为什么zip 类压缩Excel 文件出错呢? 我的MyEclipse挂了…… 怎么用applet通过画一个车辆的父类来构造car和truck子类? 《java编程思想与实践》这本书不知怎么样? ias6.5中应如何配置sybase的database? 大家有没有发现今天的Hotmail,速度特慢啊? java怎么样读取byte[]数据里面的值 java中equals和==的区别【转载】
jcombobox 先设置可编辑,然后对getEdit()添加一个监听器,然后把监听到的内容加入item中。
jcombobox.getEditor().addactionlistener(){};可以用内部匿名类形式添加。
jcombobox.getEditor().addactionlistener(){};可以用内部匿名类形式添加。不起效果啊,是要我在acenser监听里面搞吗?我在外面加这个事件根本进不去啊
jcombobox.getEditor().addactionlistener(){};可以用内部匿名类形式添加。不起效果啊,是要我在acenser监听里面搞吗?我在外面加这个事件根本进不去啊我的代码大概是这样的
cobx初始化
cbox.geteditor().addActinglinster(new actional(){...})
tablecelleditor editor = new defaultcelleditor(cbox)
column.setcelleditor(ditor)
Object newItem = comboBox.getEditor().getItem();
DefaultComboBoxModel d = (DefaultComboBoxModel) comboBox.getModel();
d.addElement(newItem);
d.setSelectedItem(newItem); });
我现在的问题就是加了一个TableAncestorListener后就可以实现实时输入,只是当点击第一个combox输入后点击下一个直接把值带到了下一个combox里面,想要解决这个问题,宁外这种情况是jdk8的问题用jdk6就没有这个问题
你可以试试设置离开监听器,combobox内容初始化 设置为“”。
起码要加在combobox上啊!