supprimer les cellules de la frontière dans une jtable
J'ai mon sur de rendu de cellule personnalisé et que vous souhaitez supprimer de la bordure de la cellule.
Comment puis-je le faire? J'ai essayé setBorder mais ça ne fonctionne pas.
Voici mon convertisseur de code:
public class MyTableCellRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = -1195682136616306875L;
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
if (!isSelected) {
if (row % 2 == 0 && row != 1) {
c.setBackground(new Color(255, 255, 150));
} else {
c.setBackground(Color.WHITE);
}
} else {
c.setBackground(new Color(255, 230, 255));
}
c.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
return c;
}
}
Vous devez vous connecter pour publier un commentaire.
Les lignes tracées entre les cellules ne font pas partie des cellules elles-mêmes. Ils sont attirés par la table. Vous pouvez les désactiver pour l'ensemble de la table avec:
Pour désactiver l'horizontale ou tout simplement les lignes verticales:
Ou, vous pouvez changer la couleur des lignes avec:
Je ne sais pas comment votre code compile depuis seulement Swing composants peuvent avoir une Frontière et de la classe n'ont pas de setBorder() la méthode.
Quand je remplace le moteur de rendu par défaut j'utilise quelque chose comme: