删除JTable中的单元格编辑器边框(Windows LaF)

时间:2017-11-20 22:26:28

标签: java swing jtable

我有一个基于JTextField的单元格编辑器,它带有这个丑陋的黑色边框(忽略左边的插入符号):

enter image description here

有没有办法将其删除,因此看起来与此相似?

enter image description here

1 个答案:

答案 0 :(得分:1)

创建表格后,您可以尝试以下内容:

DefaultCellEditor editor = (DefaultCellEditor)table.getDefaultEditor(Object.class);
JTextField textField = (JTextField)editor.getComponent();
textField.setBorder( null );

编辑:

上述方法不起作用,因为JTable使用GenericEditor,它是扩展DefaultCellEditor并为表添加额外功能的表的内部类。

添加的一项功能是管理边框:错误为“红色”,有效数据为“黑色”。因此,编辑会不断重置边框。

或者其他方法类似于:

JTextField textField = new JTextField();
textField.setBorder( null );
DefaultCellEditor editor = new DefaultCellEditor( textField );
table.setDefaultEditor(Object.class, editor):