Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [java]sfondo JTable non completo

    salve amici, mi potete risolvere questo problema?
    ho questo modello
    codice:
    class MyTableModel extends AbstractTableModel {
    
    	 private String[] columnNames = {"Titolo", // titoli delle colonne
                                            "Autore",
                                            "Tipologia",
                                            "Nome file",
                                            "Mbyte",
                                            "Supporto",
                                            "Etichetta"};
                                            
             private Object[][] data;//matrice di oggetti
                                       
             public MyTableModel(){
    		
                    temp =mt.trova();//metodo che mi raccoglie i dati dal database
    		this.data=new Object[temp.size()][7];
    		
    		for(int i=0;i<temp.size();i++){
    		
    		data[i][0]=((VoceDistributore)temp.get(i)).getTitolo();
    		data[i][1]=((VoceDistributore)temp.get(i)).getAutore();
    		data[i][2]=((VoceDistributore)temp.get(i)).getTipologia();
    		data[i][3]=((VoceDistributore)temp.get(i)).getNome_file();
    		data[i][4]=((VoceDistributore)temp.get(i)).getDimensione();
    		data[i][5]=((VoceDistributore)temp.get(i)).getSupporto();
    		data[i][6]=((VoceDistributore)temp.get(i)).getIdsupporto();
    		}
    
    	
    }
            public int getColumnCount() {
               return columnNames.length;
            }
    
            public int getRowCount() {
                return data.length;
            }
    
            public String getColumnName(int col) {
                return columnNames[col];
            }
    
            public Object getValueAt(int row, int col) {
                return data[row][col];
            }
            
            //ordina la colonna di interi
            public Class getColumnClass(int c) {
                return getValueAt(0, c).getClass();
            }
    
            /*
             * questo metodo rende le celle editabili
             */
            public boolean isCellEditable(int row, int col) {
                
                return false;
              
            }
    
            
            // Aggiorna le celle
        
            public void setValueAt(Object value, int row, int col) {
                
                data[row][col] = value;
                fireTableCellUpdated(row, col);
    
                
            }
    
            
        }
    e questo mi fa lo sfondo
    codice:
     private class MyTableRenderer extends DefaultTableCellRenderer {
    
       private final Color ALTERNATE_COLOR = new Color(232,242,254);
      
       
    	public Component getTableCellRendererComponent(JTable table, Object value,
    		boolean isSelected, boolean hasFocus, int row, int column)
    	{
    		
    		Component original =super.getTableCellRendererComponent(
    			table, value, isSelected, hasFocus, row, column);
    			
    		Color background =
    			isSelected ?
    			table.getSelectionBackground() :
    			row % 2 == 0 ?
    			ALTERNATE_COLOR :
    			table.getBackground();
    		original.setBackground(background);
    		
    		return original;
    	}
    }
    tutto questo mi fa una JTable con le righe di colore alternato solo che la colonna degli interi è totalmente bianca...aiuto!

    ciao
    http://www.emanueleferrante.it

  2. #2
    raga mi date un uppino?
    non riesco a venirne a capo..
    il problema nasce con l'introduzione nel modello di questo pezzetto di codice
    codice:
    //sort sulla colonna degli interi
            public Class getColumnClass(int c) {
                return getValueAt(0, c).getClass();
            }
    senza di quello lo sfondo è ok però il sort non funziona bene sugli interi
    con quel pezzo di codice ho la colonna degli interi tutta bianca..
    ma dove è il problema, aiutatemi voi che siete in gamba, per favore.
    ciao
    http://www.emanueleferrante.it

  3. #3
    UP
    http://www.emanueleferrante.it

  4. #4
    vabbè grazie lo stesso..cerco altrove.
    ciao belli
    http://www.emanueleferrante.it

  5. #5
    risolto
    ciao belli
    http://www.emanueleferrante.it

  6. #6
    di solito quando si risolve è sempre opportuno spiegare anche come si è fatto.,...
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  7. #7
    Originariamente inviato da alex86
    di solito quando si risolve è sempre opportuno spiegare anche come si è fatto.,...
    infatti di solito si dovrebbe fare così..non è una regola.
    e visto che non mi ha risposto nessuno a questo mio post mi sembrava pure inutile.
    tu mi dirai...però ci sta tanta gente che legge che magari voleva saperlo..e su questo sono d'accordo.
    ho girato per la rete cercando di risolvere il problema da solo e alla fine ci sono riuscito..cmq
    alla fine era una riga di codice da aggiungere al mio programma che di default per fare lo sfondo chiamava una classe renderer ma non riusciva a colorarmi la colonna degli interi, a quel punto gli ho dovuto dire proprio espressamente di fare così:

    table.getColumnModel().getColumn(4).setCellRendere r(new MyTableRenderer());

    quindi di dirgli espressamente che alla colonna 4 cioè quella degli interi di applicarmi lo sfondo creato dalla classe MyTbleRenderer, ok?
    ciao belli
    http://www.emanueleferrante.it

  8. #8
    Originariamente inviato da superpisu
    infatti di solito si dovrebbe fare così..non è una regola.
    e visto che non mi ha risposto nessuno a questo mio post mi sembrava pure inutile.
    Ho letto 23432423 messaggi tuoi qui sul forum dove tutti ti hanno dato una mano quindi quando puoi dalla anche te!..
    a me sei stato utlile
    ciao
    [ SimplyMepis 8 ]Copyleft
    www.mepisitalia.org IL SITO ITALIANO UFFICIALE DI MEPIS
    www.salentomovida.it LA MOVIDA DEL SALENTO HA UN NUOVO PUNTO D'INCONTRO SUL WEB
    [ SUD SOUND SYSTEM MINA FUECU INTRA ALLU SALENTU ]

  9. #9
    Originariamente inviato da alex86
    Ho letto 23432423 messaggi tuoi qui sul forum dove tutti ti hanno dato una mano quindi quando puoi dalla anche te!..
    a me sei stato utlile
    ciao
    don't worry alex, se posso..volentieri..figurati.
    più che altro cerco di dare consigli nell'ambito dei sistemi operativi e sicurezza, in java sono un pò meno esperto..
    ciao belli
    http://www.emanueleferrante.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.