繁体   English   中英

JTable自定义单元格渲染器焦点问题

[英]JTable custom cell renderer focus problem

我有一张这样的桌子。 第二列使用JTextField渲染器,第三列使用基于JPasswordField的渲染器和编辑器。

在此输入图像描述

看起来不错。 但问题是我们必须输入值并且必须点击“ENTER”。 在该图像中,我输入了密码,但未按Enter键。 因此,如果我单击“保存并关闭”按钮,它将显示密码字段为空的错误。

以前我在JTabbedPane下只使用了JTextFields和JPasswordFields,效果很好。 当我不得不添加越来越多的东西时,我把它改成了这样的表格。

现在我已经贴了一个标签让人们知道他们应该点击进入..这不太好。 另一个大问题。 在Nimbus的Atleast外观和感觉,我们得知这个领域仍然是焦点。 在Windows系统外观中,无论字段是否聚焦,都没有太多明显的区别。

在此输入图像描述

当我点击“保存并关闭”按钮时,我需要用户名字段或密码字段来设置它的值。 请帮我。

所以你的问题是,你还在编辑单元格。 因此,您必须停止编辑,然后更改单元格。

在您的按钮上,您可以获取正在编辑的单元格
TableCellEditor cellEditor = table.getCellEditor();
然后你可以停止编辑
if(cellEditor!=null){
cellEditor.stopCellEditing();
}

然后你可以保存价值

告诉表在失去焦点时自动提交:

table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM