2016-04-28 3 views
0

Dies ist eine Schule Assigment und ich darf nicht SQL verwenden. Ich habe eine JTable mit den folgenden Spalten:Füllen Combobox aus einer Spalte in jtable

Cruise_name;Ship_name;Departure_location;Departure_date

ich diese Elemente in einer .txt Datei cruising.txt genannt Speichern, die wie folgt aussieht:

Atlantis;SOS FOR LOVE;Koper;1.1.2020; 
Program;M.Hamilton;Neverland;1.1.2020; 
Atlantis;Derpina;Lonely ;1.1.2020; 
... 
... 

auf einer separaten Registerkarte Ich brauche ein aufzufüllen Combobox mit Cruise_name Elemente ich entweder direkt von dieser Tabelle (irgendwie) oder eine ArrayList, die das erste Element in jeder Zeile aus der .txt Datei liest. In diesem Moment weiß ich auch nicht wie. Ich könnte wirklich etwas Hilfe gebrauchen, bitte!

Antwort

0

Die Sache ist, dass Sie diese Datei sowieso lesen müssen. Also mein Vorschlag wäre wie folgt: Erstellen Sie einen Parser, der aus der Datei liest und Objekte des Typs Cruise (mit Ihren gegebenen Attributen) erstellt - jede Zeile sollte in einem anderen Cruise-Objekt resultieren. Der Parser wird Ihnen also eine Liste der Cruise-Objekte zurückgeben.

Sobald Sie diese Liste haben, können Sie die Tabelle nach this tutorial auffüllen und gleichzeitig Ihre Combobox nach this tutorial auffüllen.

0

Ich schaffte es so ... Um die Combobox jedes Mal zu füllen, klicke ich auf den Tab.

private void jTabbedPane1MouseClicked(java.awt.event.MouseEvent evt) { 

cbCruises.removeAllItems(); 

JTable table = this.tblCruises; 

     int rowcount = table.getModel().getRowCount(); 
     for(int i = 0;i<rowcount;i++){ 
      cbCruises.addItem((String)table.getModel().getValueAt(i, 0)); 
     }}