Smart: Nicht editierbare JTable

Hi,

wie kann man eine nicht editierbare JTable definieren?

Danke im Voraus
Smart

  1. ...solltest Du einfach nochmal nachhaken.

    Die Leser sind in etwa die Gleichen.

    Gruß Jan Huss

  2. Guude!

    wie kann man eine nicht editierbare JTable definieren?

    JTables verwenden Modelle, die die Daten in den Tabellen bereithalten (z.B. http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/table/DefaultTableModel.html). Diese Modelle besitzen eine Methode namens "isCellEditable()", die Auskunft darüber gibt, ob eine Zelle editierbar ist oder nicht (abhängig von der jeweiligen Reihe und Spalte). Wenn Du diese Methode nun so überschreibst, dass sie immer "false" zurückgibt, dann ist Deine gesammte Tabelle nicht mehr editierbar. Ein Beispiel:

    DefaultTableModel dtm = new DefaultTableModel(data, colNames) {
       public boolean isCellEditable(int row, int col) {
          return false;
       }
    };

    Anschließend musst Du das Modell dtm nur noch als Datenmodell Deines JTables registrieren.

    LG ausm Hesseland
    Lemmy

    --
    Wer seiner Frau gegenüber stets beteuert, dass DAS tatsächlich 30cm sind, darf sich nicht wundern, wenn sie nicht richtig einparken kann...