2013-07-19 2 views
2

Dans mon application, j'ai un org.jdesktop.swingx.JXTable à 2 colonnes. Les deux colonnes contiennent des données String. Une colonne utilise l'éditeur de cellule par défaut (org.jdesktop.swingx.JXTable.GenericEditor) et l'autre utilise un éditeur de cellule personnalisé (CustomCellEditor.java).Différences de rendu de cellules JTable multiplate-forme

Avec Windows L & F les deux cellules sont rendues identiques; cependant, avec la GTK L & F, il y a une légère différence qui provoque l'obscurcissement du texte. Quelle propriété doit être définie pour rendre l'éditeur personnalisé correctement sur 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 
     { 
      //... 
     } 
    } 
} 

par défaut sur Windows:

enter image description here

personnalisée sur Windows:

enter image description here

par défaut sur Ubuntu:

enter image description here

personnalisé sur Ubuntu:

enter image description here

+0

essayez de mettre 'setBorder (null)' – nachokk

Répondre

2

J'ai le même problème dans le passé, mais avec Nimbus L & F My issue

Résolu en faisant cela

JTextField#setBorder(null) 

Dans votre code

public CustomCellEditor(int maxStringLength) 
    { 
     super(new JTextField()); 
     ((JTextField) editorComponent).setDocument(new CustomDocument(maxStringLength)); 
     ((JTextField) editorComponent).setBorder(null); // cast may be not needed 
    } 
+0

exactement ce qui était nécessaire! – javacavaj

+0

@javacavaj at-il travaillé ?? – nachokk

+0

oui ça a marché. Merci! – javacavaj

Questions connexes