2

In my application, I have a 2-column org.jdesktop.swingx.JXTable. Both columns contain String data. One column uses the default cell editor (org.jdesktop.swingx.JXTable.GenericEditor) and the other uses a custom cell editor (CustomCellEditor.java).

With the Windows L&F both of the cells are rendered the same; however, with the GTK L&F there's a slight difference which causes the text to be obscured. What property needs to be set to render the custom editor properly on GTK?

private class CustomCellEditor extends DefaultCellEditor
{
    public CustomCellEditor(int maxStringLength)
    {
        super(new JTextField()

        ((JTextField) editorComponent).setDocument(new CustomDocument(maxStringLength));
    }

    class CustomDocument extends PlainDocument
    {
        private int limit;

        public CustomDocument(int limit)
        {
            super();
            this.limit = limit;
        }

        @Override
        public void insertString(int offset, String str, AttributeSet attr)
            throws BadLocationException
        {
          //...
        }
    }
}

Default on Windows:

enter image description here

Custom on Windows:

enter image description here

Default on Ubuntu:

enter image description here

Custom on Ubuntu:

enter image description here

mKorbel
  • 109,525
  • 20
  • 134
  • 319
javacavaj
  • 2,901
  • 5
  • 39
  • 66

1 Answers1

2

I have the same issue in the past but with Nimbus L&F My issue

Solved by doing this

JTextField#setBorder( null )

In your code

public CustomCellEditor(int maxStringLength)
    {
        super(new JTextField());
        ((JTextField) editorComponent).setDocument(new CustomDocument(maxStringLength));
        ((JTextField) editorComponent).setBorder(null); // cast may be not needed
    }
Community
  • 1
  • 1
nachokk
  • 14,363
  • 4
  • 24
  • 53