gradasso (Normal User)
Newbie
Messaggi: 1
Iscritto: 19/06/2011
|
Salve a tutti, ho un problema e cercherò di essere il più preciso possibile.
Sto realizzando un client di posta elettronica con JAVA e per far ciò mi sono attrezzato di vari utili strumenti tutti freeware e molto potenti, elenchiamoli:
- Eclipse Elios
- Google WindowBuilder pro (plug-in per Eclipse che crea GUI), a mano era troppo laborioso
- JavaMail
- JAF (JavaBeans Activation Framework)
-ecc...
Il mio problema momentaneamente è molto semplice, se in futuro avessi altri problemi con i progetto lo descriverei qui... allora, io ho costruito la GUI, ho inserito uno splitpanel dove a sinistra ho inserito una JTable dove andrà la lista delle mail ricevute, a destra una text area dove sarà contenuto il testo della mail.
Il problema è che non riesco a visualizzare nella mia tabella i titoli delle colonne. Ho difatti 3 colonne: "Da", "Oggetto", "Data ricezione".
Ho provato a settare parecchie volte sia il tablemodel che altri parametri, ma niente.
Allego ora una porzione di codice.
Porzione di codice dove dichiaro lo splitpanel e la tabella
Codice sorgente - presumibilmente Java |
splitPane.setDividerLocation(frame.getWidth()/2); //Setting della Tabella String testaTabella [] = {"Da", "Oggetto", "Data di ricezione"}; ModelloListaEmail corpoTab = new ModelloListaEmail(nullTab, testaTabella); splitPane.setLeftComponent(table); splitPane.setRightComponent(scrollPane); scrollPane.setViewportView(textArea); SettaTabella();
|
classe per settare la tabella
Codice sorgente - presumibilmente Java |
public void SettaTabella() { colonnaTab = table.getColumnModel().getColumn(0); colonnaTab.setCellRenderer(new FormattazioneTabella()); colonnaTab = table.getColumnModel().getColumn(1); colonnaTab.setCellRenderer(new FormattazioneTabella()); colonnaTab = table.getColumnModel().getColumn(2); colonnaTab.setCellRenderer(new FormattazioneTabella()); headerTab = table.getTableHeader(); headerTab. setBackground(Color. lightGray); table.setBorder(null); table.setShowGrid(false); }
|
il mio tableModel
Codice sorgente - presumibilmente Java |
import javax.swing.table.DefaultTableModel; import javax.mail.*; { /** * */ private static final long serialVersionUID = 1; { super(righe, colonne); } @Override public boolean isCellEditable(int row, int col) { //return (col != 0); return false; } }
|
ed infine la formattazione della tabella
Codice sorgente - presumibilmente Java |
import java.awt.*; import javax.swing.*; import javax.swing.table.*; { /** * */ private static final long serialVersionUID = 1; public Color ColoreRigaSelezionata = new Color(234,227,227 ); public Component getTableCellRendererComponent (JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column ) { Component cell = super. getTableCellRendererComponent(table, obj, isSelected, hasFocus, row, column ); if (isSelected) { cell.setBackground(ColoreRigaSelezionata); cell.setFocusable(false); } else { /* if (row % 2 == 0) { cell.setBackground(Color.orange); } else { cell.setBackground(new Color(255,228,196)); } */ } switch (column) { case 0: setHorizontalAlignment( LEFT ); setFont(font_1); break; case 1: setHorizontalAlignment( LEFT ); setFont(font_1); break; case 2: setHorizontalAlignment( CENTER ); setFont(font_1); break; } return cell; } }
|
Posto anche l'immagine relativa che fa vedere che non si vede il titolo.
PS: ho provato a riempire la prima riga con 1,2 e 3 (un numero per ogni colonna) , i numeri si vedono ovviamente, ma dei titoli niente...
Grazie mille per aver letto, a presto |