JTable - Problem.:(

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

Ich habe ein großes Problem mit einer JTable, an dem ich jetzt schon solange davorsitze und einfach nicht auf den Fehler komme.

Ich habe einen JFrame. In dem JFrame habe ich einen Menüpunkt womit sich ein JDialog öffnet, in dem kann ich entsprechende Werte auswählen und wenn ich dann auf Ok klicke im JDialog verschwindet dieser wieder und die Werte werden in der Tabelle des JFrames angezeigt. Leider werden die Werte nachdem der JDialog weg ist, nicht in der JTable angezeigt und ich versteh einfach nicht warum...? :bahnhof:

Im JDialog wird nachem ich auf Ok geklickt habe, die fillTable Methode des JFrames aufgerufen.
Code:
private void btn_OkClicked()
{
	jFrame.fillTable(values);
	this.setVisible(false);
}

In der Methode des JFrames wird dann ein neues tableModel erstellt und die Methode getValues von der Klasse FileOperations aufgerufen.

Code:
public void fillTable(ArrayList values)
{
   	tableModel = new DefaultTableModel();
	tableModel = op.getValues(values);
	jTable.setModel(tableModel);
}

Die sieht so aus:

Code:
public DefaultTableModel getValues(ArrayList values)
	{ 	
		rows = new Vector();
		columns = new Vector();
		columns.add("Values");
		for(int i = 0; i < values.size(); i++)
		{
			row = new Vector();
			row.add(values.get(i));
			rows.add(row);
		}

		tableModel = new DefaultTableModel(rows,columns)
		{
			public boolean isCellEditable(int row, int col)
			{
				return false;
			}
		};
		return tableModel;
	}

Weiß jemand warum die Werte in der JTable des JFrames nicht angezeigt werden? Ich komm da einfach nicht drauf.... ???:L

pa
 
Ich verstehe nicht, warum das in der JTable im JFrame dann nicht angezeigt wird, ich befülle doch das tableModel mit den Werte und weise es dann auch der JTable zu...Hat keiner eine Idee, warum das nicht funktioniert?
 
SamHotte hat gesagt.:
in btn_OkClicked() setzt du visible auf false - warum? und was ist das this-Objekt in dem Zusammenhang?

this ist der Dialog und beim Klick auf OK geht der zu und die aktualisierte JTable sollte im JFrame der Anwendung stehen.. theoretisch.. 😉
 
Uhm, JTreeview benötigt ein .validate() bevor der geänderte Inhalt angezeigt wird - ich denke mal das ist hier analog?
 
Ja genau so wie AlArenal gesagt hatte sollt es sein. Das this im btn_OkClicked ist der JDialog. Habe jetzt auch noch das validate in die fillTable Methode vom JFrame eingebaut:

Code:
public void fillTable(ArrayList pictures)
   {
   	System.out.println("fillTable" + ((File)pictures.get(0)).getName());
   	tableModel = new DefaultTableModel();
	tableModel = op.selectPictures(pictures);
	jTable.setModel(tableModel);
	jTable.validate();
   }

Leider wird noch immer nichts in der JTable angezeigt....das gibts ja nicht. Im pictures ArrayList sind auch 100%ig Werte enthalten, habe ich bereits nachgeprüft....hmm...?? :bahnhof:
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben