1.) ActionListener: JButton und 2.) JTable

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

habe 2 Fragen, wovon die zweite wohl kniffliger zu loesen ist:

1.) Ich statte JButtons mit einem ActionListener aus. Um auszulesen, welcher Button gedrueckt wurde benutze ich
Code:
...
String item = event.getActionCommand();
...

Soweit so gut, nur was mache ich, wenn ich statt einer Button-Bezeichnung nur ein Icon benutzen moechte.
Ist es moeglich den Button mit einem String auszustatten, den ich abfragen kann, dieser aber irgendwie zu deaktivieren geht? Denn Icon und Bezeichnung ist mir zuviel.

2.) Das groessere Problem:
Besitze einen JFrame mit einer JTable, die die darzustellenden Daten aus einer SQL-Abfrage bekommt (ResultSet).
Dieses Frame bietet die Moeglichkeit neue Datensaetze hinzuzufuegen. Dafuer betaetigt man den Button "Add", der ein neues Frame ausruft, wo ich dann halt die Daten erfasse und in die Datenbank schreibe.
Sobald ich das Fenster (2.Frame) schliesse ist klar, dass die JTable immer noch auf dem Stand ihres ersten Aufrufs ist. Repaint bringt ja auch nichts, weil ja die SQL-Abfrage komplett neu ausgefuehrt werden muss.

Wie wird sowas geschickt geloest?
Meine Notloesung, die zwar funktioniert, aber mit einem anderen Umstand kollidiert, ist:

Beim Schliessen des 2. Frames: Dispose des 1. Frames und diesen komplett neu erstellen und anzeigen lassen.
Dass das wirklich die Musterloesung ist, kann ich mir beim besten Willen nicht vorstellen.
Waere also fuer jegliche Tipps dankbar! :)

Saludos,

p3lotud0
 

thE_29

Top Contributor
Ist heute "Scheiss Topic Tag" oder was is heute los?!

Zu 1. Added nicht alle Buttons in deinen Listener sondern mache anonyme actionListener

Und zu 2. das musst du selbst wissen wie du das machen willst.. Du lädst die Daten ja, also statt alles neu anzeigen einfach ein reload aus der Datenbank! Wie du das machst und überhaupt wo und wann musst du wissen, für das ist zu wenig (eigentlich gar keiner) Code da!
 

Marcel_Handball

Bekanntes Mitglied
zu 1 gibt es noch eine bessere Lösung als für jeden Button einen einzelnen ActionListener zu erstellen
Benutzte einfach in dem ActionListener folgendes:

Code:
public void actionPerformed(ActionEvent e){
        Object quelle = e.getSource();
        if(quelle == nameDesButton){}
    }

Gruß Marcel
 

thE_29

Top Contributor
Dazu müsste er die Buttons als Klassenvariable abspeichern, was Anfänger meistens nicht tun..

Wenn wir jetzt ein Pech haben, fügt er es als Klassenvariable ein und vergißt in der Methode das wegzumachen und dann wundert er sich wenn es nicht geht...

Ohne Code kann man hier immer nur ins Blaue raten..
 

Marco13

Top Contributor
Dazu müsste er die Buttons als Klassenvariable abspeichern, was Anfänger meistens nicht tun..
Ich habe die Erfahrung bemacht, DASS sie das meistens tun (die heißen dann btn1, btn2, btn3....) bis sie merken, dass das meistens nicht nötig ist, weil...

Zu 1. Buttons haben eine Methode "setActionCommand" (standardmäßig ist es die Aufschrift des Buttons, aber man kann es auch getrennt setzen). Ein Anonymer Listener ist aber häufig sinnvoller.
 
G

Guest

Gast
@thE_29: Was ist denn bei Dir kaputt? Schlechte Laune?

So lege ich die JTable an:

Code:
...
ResultSet rs = ...;
			
// TableModel erstellen
DefaultTableModel aModel = (DefaultTableModel) table.getModel(); 
aModel.setColumnIdentifiers(tblHead);
			
// Die Datensätze ausgeben
ResultSetMetaData rsmd = rs.getMetaData(); 
int colNo = rsmd.getColumnCount(); 
while(rs.next())
{ 
Object[] objects = new Object[colNo]; 
for(int i = 0; i < colNo; i++){ 
	objects[i]=rs.getObject(i + 1); 
	} 
aModel.addRow(objects); 
}
table.setModel(aModel); 
...
 

thE_29

Top Contributor
@Gast: wenn du den ganzen Tag Topics hast die einfach überhaupt keinen Sinn haben und User einfach net kapieren wollen das man AUSSAGEKRÄFTIGE Titel verwenden soll, dann fangt das irgendwann mal an zu nerven...

Naja und diese Methode da oben (weil da legst du nirgends ein new JTable an und du addest es auch nirgends.. Du befüllst da nur das Model) kannst du nachher auch wieder ausführen/aufrufen!
 
G

Guest

Gast
Ja sorry, wusste selber das die Wahl des Topic-Titels nicht berauschend war. Das lag aber vielmehr daran, dass es um zwei Themen ging. Das wollte ich dann irgendwie kurz halten. Haette ich die in zwei Topics aufgeteilt, waeren die Bezeichnungen mit Sicherheit besser geworden.

Aber zurueck zum Thema:

Zuvor: Falls Code gewuenscht wird, moechte ich den dann gerne im Anschluss posten, aber vielleicht weiss so schon jemand Rat. Ich komme nicht drauf.
Es handelt sich um ein seltsames Problem:

Das Updaten der Table geht jetzt. Habe einfach das alte Model in Verbindung mit einer erneuten Abfrage ueberschrieben. So weit so gut...

Das ganze funktioniert aber nur das ERSTE Mal!

Frame1 besitzt die JTable, Frame2 (wird durch einen Button in Frame1 aufgerufen) die Eingabefelder zur Wertaenderung und einen Button zum Ausfuehren der SQL-Anweisung. Danach wird Frame2 disposed.

Nun das merkwurdige: Rufe ich Frame2 zum erneuten Aendern der Daten auf und schicke die Abfrage ab, so befindet sich irgendwie immer noch die erste Abfrage im Speicher!
Bei jedem Frame2-Aufruf reiht sich jetzt die neue Abfrage an die anderen an und wird ausgefuehrt.
Auch der ActionListener des Frame2 reagiert entsprechend:

Beim 2. Aufruf von Frame2 wird er 2mal hintereinander ausgefuehrt, beim 3. Mal 3x und so weiter...
Wo kann da das Problem liegen?

Wie gesagt: Poste dann gerne den Code, falls Nachfrage besteht.

Danke schon mal im Voraus

Saludos,

p3lotud0
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Swing JButton mit ActionListener innerhalb einer JTable AWT, Swing, JavaFX & SWT 4
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
I Swing Problem mit InputMap bei JButton (ActionListener) AWT, Swing, JavaFX & SWT 3
F ActionListener von JButton funktioniert mit JFrame aber nicht mit JDialog AWT, Swing, JavaFX & SWT 2
W actionListener für JButton "Step" AWT, Swing, JavaFX & SWT 5
R Swing ActionListener für JButton bei Drücken AWT, Swing, JavaFX & SWT 3
ABstraCT ActionListener zufügen bei "extends JButton" AWT, Swing, JavaFX & SWT 7
A jButton und Actionlistener? AWT, Swing, JavaFX & SWT 5
Z TextField aus ActionListener von JButton verändern AWT, Swing, JavaFX & SWT 10
C JButton Array - ActionListener AWT, Swing, JavaFX & SWT 10
B JButton array und ActionListener AWT, Swing, JavaFX & SWT 2
B ActionListener, Thread, JButton Problem AWT, Swing, JavaFX & SWT 2
M JButton & ActionListener AWT, Swing, JavaFX & SWT 6
M ActionListener für JButton AWT, Swing, JavaFX & SWT 2
L Problem mit ActionListener, ChildFrame und JButton AWT, Swing, JavaFX & SWT 3
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
pkm MainFrame durch Actionlistener auffrischen, aber wie? AWT, Swing, JavaFX & SWT 2
L actionListener für Button AWT, Swing, JavaFX & SWT 97
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
R ActionListener in Actionlistener AWT, Swing, JavaFX & SWT 6
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
P Swing ActionListener überschreibt einen Wert aus der Hauptklasse nicht AWT, Swing, JavaFX & SWT 5
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
L Ein Actionlistener für ein Textfeld, anstatt viele Actionlistener für ein Textfeld AWT, Swing, JavaFX & SWT 7
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
Blender3D einzelner ActionListener vs anonyme ActionListener AWT, Swing, JavaFX & SWT 10
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
it_is_all Event Handling ActionListener in anderer Klasse klappt nicht AWT, Swing, JavaFX & SWT 4
F "ActionListener" funktioniert nicht AWT, Swing, JavaFX & SWT 4
Z ActionListener Variable übergeben AWT, Swing, JavaFX & SWT 12
T JProgressbar während actionListener updaten AWT, Swing, JavaFX & SWT 1
S While Schleife im Actionlistener AWT, Swing, JavaFX & SWT 1
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
T ActionListener nimmt JTextField nicht mehr an. AWT, Swing, JavaFX & SWT 2
P ActionListener Graphics Einbauen AWT, Swing, JavaFX & SWT 0
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
Liondary GUI - ActionListener AWT, Swing, JavaFX & SWT 7
J ActionListener erkennt Variable nicht AWT, Swing, JavaFX & SWT 6
E ActionListener führt falsche Funktion aus AWT, Swing, JavaFX & SWT 6
Sin137 ActionListener in MVC AWT, Swing, JavaFX & SWT 7
M ActionListener und mathematische Methoden AWT, Swing, JavaFX & SWT 13
A Oberfläche mit zwei Klassen und actionlistener verbinden AWT, Swing, JavaFX & SWT 7
Paul15 ActionListener Variablen AWT, Swing, JavaFX & SWT 13
Y ActionListener AWT, Swing, JavaFX & SWT 2
K Ereignisbehandlung, ActionListener, ActionEvent AWT, Swing, JavaFX & SWT 3
A Gui für Vokabeltrainer (ActionListener) AWT, Swing, JavaFX & SWT 14
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
R Swing Problem: IOException bei ActionListener AWT, Swing, JavaFX & SWT 1
J ActionListener soll auf paint() Methode zugreifen AWT, Swing, JavaFX & SWT 1
T Einfaches Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
K GUI, Button, ActionListener - ein paar Einsteigerprobleme AWT, Swing, JavaFX & SWT 1
W Verschachtelter ActionListener AWT, Swing, JavaFX & SWT 0
N gewünschte ActionListener bei RadioButton mit isSelected geht nicht AWT, Swing, JavaFX & SWT 2
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
K Swing JMenu und ActionListener AWT, Swing, JavaFX & SWT 4
A Swing ActionListener AWT, Swing, JavaFX & SWT 8
V ActionListener Abhängigkeitenproblem AWT, Swing, JavaFX & SWT 6
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3
M Event Handling ActionListener übergeben ich checks net AWT, Swing, JavaFX & SWT 4
C Swing ComboBox - ActionListener deaktivieren AWT, Swing, JavaFX & SWT 2
S Button (ActionListener) funktioniert nicht, wenn y-Koordinate verändert wird AWT, Swing, JavaFX & SWT 5
L Swing ActionListener führt seine Aufgabe nur teilweise aus. AWT, Swing, JavaFX & SWT 7
A Swing ActionListener kann nicht hinzugefügt werden AWT, Swing, JavaFX & SWT 4
P Actionlistener - 3 klassen - kompliziert - auf methoden zugreifen AWT, Swing, JavaFX & SWT 3
Q CardLayout, ausgelagerte Panels, ActionListener AWT, Swing, JavaFX & SWT 5
M ProgressBar in ActionListener AWT, Swing, JavaFX & SWT 4
D AWT eigenem Knopf ActionListener zuweisen AWT, Swing, JavaFX & SWT 24
E Wert aus ActionListener geben AWT, Swing, JavaFX & SWT 4
J ActionListener per Innere Klasse oder e.getActionCommand() if-Abfrage? AWT, Swing, JavaFX & SWT 12
L Swing ActionListener zugriff auf bestimmte Elemente AWT, Swing, JavaFX & SWT 3
P Swing Seltsames ActionListener-Verhalten AWT, Swing, JavaFX & SWT 7
Oliver530 ActionListener von eigener ButtonKlasse AWT, Swing, JavaFX & SWT 16
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 2
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 3
C In der Schleife ActionListener aktivieren AWT, Swing, JavaFX & SWT 3
B Swing Problem beim ActionListener AWT, Swing, JavaFX & SWT 5
P Swing JPanel mit ActionListener mehrfach verwenden AWT, Swing, JavaFX & SWT 8
1 ActionEvent generieren und an ActionListener weiterleiten AWT, Swing, JavaFX & SWT 12
N Swing Klasse erbt von JDialog - Problem mit innerer ActionListener-Klasse AWT, Swing, JavaFX & SWT 6
N JCombobox und Actionlistener Aktion nur ausführen, wenn Useraktion ihn auslöst AWT, Swing, JavaFX & SWT 4
N Componente und Actionlistener AWT, Swing, JavaFX & SWT 5
C ActionListener AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen


Oben