Vector - JTable - TableModel

Status
Nicht offen für weitere Antworten.
Ja!

Bisschen Code von Dir vielleicht, wie Du Dir das genau vorstellst???

Oder sollen wir mal unsere Glaskugel fragen???

'Immer freundlich sein 🙂
 
public class Ausgabe extends JFrame {

Adressbuch adressen = new Adressbuch();

private MyTableModel model;



Es gibt eine 2. Klasse in der der Vector gefüllt ist. Diese Daten wollen wir jetzt in die class Ausgabe halt in die JTabel reinschreiben!

MfG
 
Wenn du in deiner Adressbuch-Klasse einen Vector hast, der die Daten hält, kannst du die Klasse von AbstractTableModel erben lassen und die entsprechenden Methoden implementieren/ergänzen.
Dann kannst du deiner JTable dein Adressbuch als TableModel übergeben.
 
Also wäre zum Beispiel ein Ansatz folgendermaßen:

AbstractTabelModel extends Adressduch

und dann kann ich die Methoden aus der Klasse benutzen.
 
jensschoo hat gesagt.:
Also wäre zum Beispiel ein Ansatz folgendermaßen:

AbstractTabelModel extends Adressduch

Nö, sicher nicht..

und dann kann ich die Methoden aus der Klasse benutzen.

Wenn du dir nicht angewöhnst etwas präziser deine Situation und dein Problem zu beschreiben, kann dir auch niemand helfen, weil wir nicht nachvollziehen können was bei dir wo haken könnte.
 
Kurz nochmal zum verständnis:

Ich habe eine Klasse (Oberfläche) in der Daten in einen Vector eingegeben werden. Diese eingegebenen Daten möchte ich in einer zweiten Klasse in einer Tabelle darstellen. Ich weiß aber nciht, wie die Klasse mit der tabelle diesen Vector erben kann.
 
Ist diese zweite Klasse von JTable abgeleitet, oder einfach ein weiterer Frame (oder sonsteine Komponente) die eine JTable enthält? Wieauchimmer, diese Klasse wird sicher nicht von einem Vector "erben", denn dann wäre sie ein Vector 😉

Einfachster Weg wäre es für dich vielleicht erstmal einer der Konstruktoren von JTable:

JTable(Vector rowData, Vector columnNames)

Irgendwo in deiner "zweiten Klasse" (was auch immer sie sein mag 😉 ) gibt es vermutlich eine Zeile in der Form

Code:
JTable table = new JTable();

Später wirst du table dann wohl einer Scrollpane und schlussendlich der ContentPane eines JFrame hinzufügen - vermute ich 😉

Wenn du deiner zweiten Klasse vorher schonmal deine Daten übergibts (über einen neuen Konstruktor, der einen Vector als Parameter übernimmt und eine globale Variable 'data' vom Typ Vector in der "zweiten Klasse", der du dann den übergebenen Vector zuweist), kannst du danach ein

Code:
Jtable = new JTable(data, columNames);

Was noch fehlt ist, dass du vorher einen Vector columnNames erzeugst und in ihn die Titel der gewünschten Spalten deiner Tabelle einträgt. Hierüber weiß die JTable dann wieviele Spalten die Tabelle haben soll und weist die Daten aus dem Vector data einfach entspechend den Zellen der Tabelle zu.
 
Grob skizziert:


Code:
class ErsteKlasse extends JFrame {
  provate Vector datenVector = new Vector();

  public ErsteKlasse() {
    fuelleDatenVectorMitDaten();
    ZweiteKlasse zk = new ZweiteKlasse(datenVector);
    zk.setSize(700, 500);
    zk.setVisible(true);
  }

  private fuelleDatenVectorMitDaten() {
    // ...
  }

  public static void main(String[] args) {
    ErsteKlasse ek = new ErsteKlasse()
    // ...
    ek.setVisible(true);
}

}

Code:
class ZweiteKlasse extends JFrame {
  private JTable meineTabelle;

  public ZweiteKlasse(Vector datenVector) {
    Vector uberschriften = new Vector();
    ueberschriften.addElement("test1");
    ueberschriften.addElement("test2");

    meineTabelle = new JTable(datenVector, ueberschriften);
   
    // JTable zu ScrollPane zu ContentPane hinzufügen ....
  }

}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben