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

Remove cell editor border in JTable (Windows LaF)

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

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

创建 table 后,您可以尝试类似的操作:

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

编辑:

上述方法不起作用,因为 JTable 使用 GenericEditor,它是 table 的内部 class,它扩展了 DefaultCellEditor 并为 table。

添加的一项功能是管理边界:"red" 用于错误,"black" 用于有效数据。所以边界不断被编辑重置。

或者另一种方法类似于:

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