addRow(), removeRow()

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,
ich möchte aus nem jmenu zeilen aus meiner jtable löschen/hinzufügen.
Code:
public void actionPerformed(ActionEvent evt)
	{
		if(evt.getSource() instanceof JMenuItem)
		{
			String arg = evt.getActionCommand();
if(arg.equals("Zeile einfügen"))
			{
				model.addRow(new String[]
					{"A",
			         "B",
			         "Ct",
			         "D",
			         "E"
					});
			}
			if(arg.equals("Zeile löschen"))
			{
				model.removeRow(row);
			}
                 }
        }
eclipse zeigt keinen fehler an, aber wenn ichs dann versuche bekomm ich ne NullpointerException. ich denke es liegt daran, dass er den focus aus der tabelle verliert, wenn ich auf die menuleiste klicke. was kann man da tun?
oder stimmt der code gar nicht???

Danke euch!!!
 
G

Guest

Gast
:oops: vergessen ...
entweder in zeile 8, oder 18. je nachdem ob man adden, oder löschen will.
 

Sky

Top Contributor
Zeig mir mal, wie Du das Model erstellst... habe eine Vermutung, wo der Fehler liegen könnte ;-)
 
G

Guest

Gast
wie, mein model is null? ???:L
also, hab das so gemacht:
Code:
DefaultTableModel model = new DefaultTableModel(data, columnNames);
        table = new JTable(model) { ... };
oder wie jetzt???
 

Wildcard

Top Contributor
*GlaskugelRaushol*
Steht das im Konstruktor?
mach mal so
Code:
model = new DefaultTableModel(data, columnNames);
 

Sky

Top Contributor
Wildcard hat gesagt.:
*GlaskugelRaushol*
Steht das im Konstruktor?
mach mal so
Code:
model = new DefaultTableModel(data, columnNames);
Das hab ich auch gedacht... gibt es für sowas vielleicht schon ein FAQ-Eintrag ?
 
G

Guest

Gast
hey cool, es tut!!!! :D
aber wieso musste ich da 'DefaultTableModel' löschen?
 

Sky

Top Contributor
Anonymous hat gesagt.:
hey cool, es tut!!!! :D
aber wieso musste ich da 'DefaultTableModel' löschen?
Weil Du ansonsten im Konstruktor eine lokale Instanz anlegst. Diese wird auch der Tabelle korrekt übergeben, jedoch ist der Instanzweite Zugriff nicht möglich, da die Instanzvariable nicht geändert wird.
 

mic_checker

Top Contributor
Also für TableModel/DefaultTableModel gibts natürlich was: Gast da solltest du mal im FAQ Bereich gucken.

[OT]
sky80: am besten wir warten mit dem FAQ Beitrag zur Kristallkugel noch bis die neue JProphet Extension raus ist. Die bietet dann auch erweiterten Support für GUIs etc.
Da gabs ja in vorherigen Versionen Probleme mit ;)
[/OT]
 

Sky

Top Contributor
mic_checker hat gesagt.:
Also für TableModel/DefaultTableModel gibts natürlich was: Gast da solltest du mal im FAQ Bereich gucken.

[OT]
sky80: am besten wir warten mit dem FAQ Beitrag zur Kristallkugel noch bis die neue JProphet Extension raus ist. Die bietet dann auch erweiterten Support für GUIs etc.
Da gabs ja in vorherigen Versionen Probleme mit ;)
[/OT]
nein ich meinte eher lokale var, klassen vars usw...
 
G

Guest

Gast
hi ..., it's me again ...
hab gemerkt das er mir immer die oberste zeile löscht, und die neue zeile immer unten anfügt.
wie geht das, das er die selektierte zeile löscht? und er die neue über oder unter die selektierte packt?
ich weiß ..., bin n ganz schneller ... :roll: :wink:
 

GagamehlO

Aktives Mitglied
Aber was mich wundert ist die Tatsache das der Compiler doch eigentlich schon rummucken müsste, das ja model
global gar nicht bekannt ist.

häh???


mfg GagamehlO
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben