私のアプリケーションには、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 でのカスタム: