我有一张这样的桌子。第二列使用JTextField渲染器,第三列使用基于JPasswordField的渲染器和编辑器。
看起来不错。但问题是我们必须输入值并且必须点击“ENTER”。在该图像中,我输入了密码,但未按Enter键。所以,如果我点击'保存&关闭'按钮,它会显示密码字段为空的错误。
以前我在JTabbedPane下只使用过JTextFields和JPasswordFields,但效果很好。当我不得不添加越来越多的东西时,我把它改成了这样的表。
现在我已经贴了一个标签让人们知道他们应该点击进入..这不太好。另一个大问题。在Nimbus的Atleast外观和感觉,我们得知这个领域仍然是焦点。在Windows系统外观中,无论字段是否聚焦,都没有太多明显的区别。
当我点击“保存并放大”时,我需要用户名字段或密码字段来设置它的值关闭'按钮。请帮帮我。
答案 0 :(得分:7)
所以你的问题是,你还在编辑单元格。所以你必须停止编辑,然后更改单元格。
在您的按钮上,您可以获得正在编辑的单元格
TableCellEditor cellEditor = table.getCellEditor();
然后你可以用
停止编辑
if(cellEditor!=null){
cellEditor.stopCellEditing();
}
然后你可以保存值
答案 1 :(得分:6)
告诉表在失去焦点时自动提交:
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);