2

私のアプリケーションには、2 列の org.jdesktop.swingx.JXTable があります。どちらの列にも文字列データが含まれています。1 つの列はデフォルトのセル エディター (org.jdesktop.swingx.JXTable.GenericEditor) を使用し、もう 1 つの列はカスタム セル エディター (CustomCellEditor.java) を使用します。

Windows L&F では、両方のセルが同じようにレンダリングされます。ただし、GTK L&F では、テキストが不明瞭になるわずかな違いがあります。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
        {
          //...
        }
    }
}

Windows のデフォルト:

ここに画像の説明を入力

Windows でのカスタム:

ここに画像の説明を入力

Ubuntu のデフォルト:

ここに画像の説明を入力

Ubuntu でのカスタム:

ここに画像の説明を入力

4

1 に答える 1