JTable AbstractTableModel Header setzen

  • Themenstarter Themenstarter käst
  • Beginndatum Beginndatum
K

käst

Gast
Hallo

Habe ein JTable, das Model der Tabelle ist das AbstractTableModel.
In das AbstractTableModel lade ich eine Excel Datei.

Ich will die Header meiner Tabelle ändern. Es kommen immer die Standard header (A, B, C, D usw.).

Wie kann ich beim AbstractTableModel die Header setzen?

Gruss
 
Java:
Aus AbstractTableModel

 /**
     *  Returns a default name for the column using spreadsheet conventions:
     *  A, B, C, ... Z, AA, AB, etc.  If <code>column</code> cannot be found,
     *  returns an empty string.
     *
     * @param column  the column being queried
     * @return a string containing the default name of <code>column</code>
     */
    public String getColumnName(int column) {


Aus TableModel (interface)
/**
     * Returns the name of the column at <code>columnIndex</code>.  This is used
     * to initialize the table's column header name.  Note: this name does
     * not need to be unique; two columns in a table can have the same name.
     *
     * @param	columnIndex	the index of the column
     * @return  the name of the column
     */
    public String getColumnName(int columnIndex);


//mach z.B. sowas 

@Override
public String getColumnName(int columnIndex) {
        switch (columnIndex) {
            case 1:
                return "name";
...
 
Zuletzt bearbeitet:
die Methode getColumnName(int) gibt mir den Aktuellen Namen zurück.
und wie soll ich den verändern? ich sehe keine set-Methode
 
Du solltest dir eine eigene Klasse schreiben die von AbstractTableModel erbt und dort z.B. die Methode getColumnName(int i) überschreiben.
 
die Methode getColumnName(int) gibt mir den Aktuellen Namen zurück.
und wie soll ich den verändern? ich sehe keine set-Methode

Richtig. Du musst die Methode überschreiben.

Java:
                JTable tbl = new JTable(new AbstractTableModel() {
                    
                    public Object getValueAt(int rowIndex, int columnIndex) {
                        // TODO Auto-generated method stub
                        return null;
                    }
                    
                    public int getRowCount() {
                        // TODO Auto-generated method stub
                        return 0;
                    }
                    
                    public int getColumnCount() {
                        // TODO Auto-generated method stub
                        return 0;
                    }
                    
                    @Override
                    public String getColumnName(int column) {
                        switch (column) {
                        case 1:
                            return "name";
                        default: return "text";   
                        }
                    }
                });


//edit : zu langsam ;(
 

Zurück
Oben