Header von JTable lesen

Status
Nicht offen für weitere Antworten.

sweet

Mitglied
Hallo an alle!

Ich bin nicht wirklich java-geübt...
Nun möchte ich aus einer JTable Daten auslesen und in ein CSV-File schreiben.
Das klappt auch soweit, nur mit den Spalten-Überschriften komme ich nicht weiter.
Mit dem folgenden Code erhalte ich die Headers "A, B, C, usw." und nicht die Überschriften, welche im View erscheinen?!

Java:
private JTable jTableList;
file = new File("ausgabedatei.csv");
   try {
       file.createNewFile();
       fw = new FileWriter(file); 
       bw = new BufferedWriter(fw);
       for (int h = 0 ; h < jTableList.getColumnCount();h++){
            bw.write(jTableList.getColumnName(h));
            if (h+1 != jTablePasswordList.getColumnCount()){
               bw.write(";");
            }
       bw.newLine();
       }
  }

Besten Dank im Voraus!
sweet
 
bei mir funktionierts
Java:
public class TestGUI    extends JFrame
{
    public TestGUI()    {        
        JTable jTableList = new JTable(new String[][] {{"1","2"},{"1","2"}}, new String[] {"ColA","ColB"});
        for (int h = 0; h < jTableList.getColumnCount(); h++)
        {
            System.out.println(jTableList.getColumnName(h));
        }
        JScrollPane sp = new JScrollPane(jTableList);
        add(sp);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(230, 200);
        setVisible(true);
    }
    public static void main(String[] args)    {
        new TestGUI();
    }
}
->
ColA
ColB
 
Danke schon mal für deine Antwort!

hm, ja, wenn ich die Tabelle so erstelle funktioniert es bei mir auch!

Nur wird bei mir die Überschrift eben über setHeaderValue() gesetzt.
 
dann doch sicher analog zurück
Java:
        TableColumnModel columnModel = jTableList.getColumnModel();
        for (int h = 0; h < jTableList.getColumnCount(); h++)
        {
            System.out.println(columnModel.getColumn(h).getHeaderValue());
        }
 
Geht vielleicht der Weg über das ColmnModel?
Java:
table.getColumnModel().getColumn( col ).getHeaderValue();
 
so gehts:

Java:
String str = jTablePasswordList.getColumnModel().getColumn( h ).getHeaderValue().toString();
bw.write(str);

Danke euch!! 🙂
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben