在我的應用程序中,我有一個2列org.jdesktop.swingx.JXTable。兩列都包含字符串數據。一列使用默認單元格編輯器(org.jdesktop.swingx.JXTable.GenericEditor),另一列使用自定義單元格編輯器(CustomCellEditor.java)。JTable單元格渲染差異跨平臺
與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:
試着把'setBorder(null)' – nachokk