|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 230
|
[JAVA] jtable colorare le celle
Qualcuno sà dirmi se è possibile colorare le singole celle di una jtable,a colorare le colonne arrivo ma le singole celle?
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Semplicissimo...devi creare una classe che estenda TableCellRenderer e ridefinire il metodo
Codice:
public Component getTableCellRendererComponent(
JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column)
Codice:
MioTableCellRenderer renderer = new MioiTableCellRenderer(" );
miaTabella.setCellRenderer(renderer);
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 230
|
Grazie per l'aiuto,ho fatto come hai detto,ho creato la classe
che implementa l'interfaccia TableCellRenderer,ma il metodo setCellRenderer(.....) non c'è nel mio jdk,uso 1.4.2,come posso fare a fargli utilizzare la classe di renderizzazione? Ho cercato un metodo equivalente ma l'unico che ho trovato è prepareRenderer(TableCellRenderer renderer,int row,int column) l'ho provato ma non và |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Quel metodo è un metodo di TableColumn, non di JTable,
http://java.sun.com/docs/books/tutor....html#renderer ciao.
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 230
|
up
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Quote:
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 230
|
Ho fatto come mi avete indicato,spero
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Cosa intendi per effetto intermittenza???
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Ho capito...tu hai scritto:
Codice:
class Miatab implements TableCellRenderer{
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column)
{
return (new Button("prova"));
}
}
Codice:
public class MyTableCellRenderer extends JLabel
implements TableCellRenderer {
Ecco una realizzazione significativa di quella classe: Codice:
public Component getTableCellRendererComponent(
JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
String s = value.toString();
setText(s);
setIcon(AllegatiConstants.defaultIcon);
if (isSelected) {
setBackground(table.getSelectionBackground());
setForeground(table.getSelectionForeground());
setBorder(BorderFactory.createLoweredBevelBorder());
} else {
setBackground(table.getBackground());
setForeground(table.getForeground());
setBorder(BorderFactory.createRaisedBevelBorder());
}
setEnabled(table.isEnabled());
setFont(table.getFont());
setOpaque(true); //MUST do this for background to show up.
setToolTipText("PROVA!");
return this;
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
In questo modo si ha un effetto molto carino...quando selezioni una cella è come se premessi un bottone che dal rilievo passa al bassorilievo...provala
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 230
|
Grazie per l'aiuto,se ho capito bene devo estendere JLabel se voglio una label nella cella,se voglio un checkbox estendo JCheckBox,se voglio componenti diversi nella stessa colonna non posso xò averli
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Esatto...un JPanel nella cella... mmmm... potrebbe esser efattibile, ma onestamente non ci ho mai studiato!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:38.



















