Originariamente inviato da MarcoJava
quando seleziono una riga compare un bordo a rilievo sulla cella della riga che ho selezionato...
Ti stai riferendo al bordino che indica il "focus" sulla cella.
Originariamente inviato da MarcoJava
senza che comparissero bordini a rilievo
Quel bordino che ho appena detto è gestito e disegnato dal "renderer". Se definisci un tuo renderer potresti scegliere di ignorare il flag boolean hasFocus di getTableCellRendererComponent() e quindi di non disegnare nulla di particolare se ha il focus. Però bisognerebbe vedere quali tipi di dati devi gestire, prima di stabilire se e quanti renderer implementare.
C'è un'altra possibilità: i renderer di default si basano sulle alcune "UI property". Se vuoi comprendere meglio cosa fa un renderer, basta che guardi il sorgente (è breve ... meno di 400 righe) di DefaultTableCellRenderer.
Comunque puoi usare:
codice:
UIManager.put("Table.focusSelectedCellHighlightBorder", BorderFactory.createEmptyBorder(1, 1, 1, 1));
Questo vale per tutte le tabelle create da questo punto in avanti.
Comunque non è tutto qui ... ripeto che se guardi il sorgente di DefaultTableCellRenderer, ti chiarisce molto ... se non tutto.