Seltsames Verhalten beim ButtonClick (ActionListener() )

Status
Nicht offen für weitere Antworten.

Admiral

Mitglied
Hallo zusammen,

ich bin in Sachen Java ein blutiger Anfänger und habe einfach mal mit einem gesetztem Ziel angefangen in die Materie einzusteigen. VHS-Kurs für Anfänger habe ich auch schon hinter mir :)
Bei einer Sache komme ich gerade ins stocken. Ziel ist es, bei einem Klick auch einen Button, soll eine Texfeld in eine DB gespeichert werden, so weit alles ok geht auch prima. Der Code für die Buttonaktion habe ich so erstellt:

Code:
public SwingDemo() {
		super("Datenbank"); 
		setSize(400, 120);
		setLocation(300, 300); 
		Container contentPane = getContentPane();
		contentPane.setLayout(new GridLayout(3, 2));
		LabelName = new JLabel("Name");
		LabelVorname = new JLabel("Vorname");
		LabelNix = new JLabel(""); 
		TextName = new JTextField();
		TextVorname = new JTextField();
		Button = new JButton("Speichern");

		Button.addActionListener(einfuegen);
		contentPane.add(LabelName);
		contentPane.add(TextName);
		contentPane.add(LabelVorname);
		contentPane.add(TextVorname);
		contentPane.add(LabelNix);
		contentPane.add(Button);

	}

	ActionListener einfuegen = new ActionListener() {
		public void actionPerformed(ActionEvent xx) {
			String Name = TextName.getText();

			try {
				Class.forName(DRIVER).newInstance();
				Connection connection = DriverManager.getConnection(URL);
				Statement statement = connection.createStatement();
				ResultSet resultSet = null;
				String INSERT = "INSERT INTO formulare2 (name) VALUES('"+Name+"') ";
				// statement.execute(CREATE_TABLE);
				statement.execute(INSERT);
				// statement.execute(DELETE);
				resultSet = statement.executeQuery(SELECT);
				while (resultSet.next()) {
					System.out.println(resultSet.getString("id") + ":"
							+ resultSet.getString("name"));
				}
				resultSet.close();

				statement.close();

			} catch (Exception ef) {
				System.out.println("Fehler?!" + ef);
				ef.printStackTrace();
			}
		}

Ich dachte also, beim Klick auf den Button führe die Aktion "einfuegen" aus - geht auch.
Aber ich hatte den Code für "Einfügen" vorher so geschrieben:
Code:
public void actionPerformed(ActionEvent ev) {
		// hier stand vorher die Aktion von: ActionListener einfuegen ....
} // Ende klick auf Button
Da ich aber mehrere Buttons erstellen wollte, dachte ich mir, ich müsste für jeden Button eine eigene Methode schreiben, eben wie "einfuegen".
Jedoch wenn ich die Zeilen mit "actionPerformed(ActionEvent ev)" (1-6) lösche und das Programm starte bekomme ich eine Fehlermeldung, lasse ich weiter compilieren läuft das Programm wie gewünscht und ohne ein Fehlerprotokoll. Wo ist der Fehler im Programm?
Der ganze Code:

Code:
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class SwingDemo extends JFrame implements ActionListener {

	static final String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";

	static final String URL = "jdbc:derby:derbydb;create=true";

	
	JLabel LabelName, LabelVorname, LabelNix;
	JTextField TextName, TextVorname;
	JButton Button;

	
	public SwingDemo() {
		super("Datenbank"); 
		setSize(400, 120);
		setLocation(300, 300); 
		Container contentPane = getContentPane();
		contentPane.setLayout(new GridLayout(3, 2));
		LabelName = new JLabel("Name");
		LabelVorname = new JLabel("Vorname");
		LabelNix = new JLabel(""); 
		TextName = new JTextField();
		TextVorname = new JTextField();
		Button = new JButton("Speichern");

		Button.addActionListener(einfuegen);
		contentPane.add(LabelName);
		contentPane.add(TextName);
		contentPane.add(LabelVorname);
		contentPane.add(TextVorname);
		contentPane.add(LabelNix);
		contentPane.add(Button);

	}

	ActionListener einfuegen = new ActionListener() {
		public void actionPerformed(ActionEvent xx) {
			String Name = TextName.getText();

			try {
				Class.forName(DRIVER).newInstance();
				Connection connection = DriverManager.getConnection(URL);
				Statement statement = connection.createStatement();
				ResultSet resultSet = null;
				String INSERT = "INSERT INTO formulare2 (name) VALUES('"+Name+"') ";
				// statement.execute(CREATE_TABLE);
				statement.execute(INSERT);
				// statement.execute(DELETE);
				resultSet = statement.executeQuery(SELECT);
				while (resultSet.next()) {
					System.out.println(resultSet.getString("id") + ":"
							+ resultSet.getString("name"));
				}
				resultSet.close();

				statement.close();

			} catch (Exception ef) {
				System.out.println("Fehler?!" + ef);
				ef.printStackTrace();
			}
		}
	};


	public void actionPerformed(ActionEvent ev) {
		// hier stand vorher die Aktion von: ActionListener einfuegen ....
	} // Ende klick auf Button

	
	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			System.err.println("Couldn't use the system " + "look and feel: "+ e);
		}
		
		##
		JFrame frame = new SwingDemo();

		WindowListener l = new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		};
		frame.addWindowListener(l);
		frame.setVisible(true);
	}
}

Ich hoffe ich habe mein Problem verständlich rüberbringen können. :)

Vielen Dank im voraus.

Admiral
 

Admiral

Mitglied
Also: Das Programm funktioniert mit der Methode "einfuegen" nur ohne Fehlermeldung wenn ich den Code:

Code:
public void actionPerformed(ActionEvent ev) {
      // hier stand vorher die Aktion von: ActionListener einfuegen ....
   } // Ende klick auf Button
stehen lasse, obwohl keine Anweisungen drin stehen. Lösche ich diese 3 Zeilen, hält der Compiler mit einer Warnung an und fragt ob ich fortfahren will, klicke ich auf Ja läuft das Programm tadellos. Irgendwelche Fehlerprotokolle erhalte ich aber nicht. Meine Frage ist nun warum ich diese 3 Zeilen stehen lassen muss ???:L

Gruß Admiral
 
G

Guest

Gast
Admiral hat gesagt.:
Also: Das Programm funktioniert mit der Methode "einfuegen" nur ohne Fehlermeldung wenn ich den Code:

Code:
public void actionPerformed(ActionEvent ev) {
      // hier stand vorher die Aktion von: ActionListener einfuegen ....
   } // Ende klick auf Button
stehen lasse, obwohl keine Anweisungen drin stehen. Lösche ich diese 3 Zeilen, hält der Compiler mit einer Warnung an und fragt ob ich fortfahren will, klicke ich auf Ja läuft das Programm tadellos. Irgendwelche Fehlerprotokolle erhalte ich aber nicht. Meine Frage ist nun warum ich diese 3 Zeilen stehen lassen muss ???:L

Gruß Admiral

du brauchst auch nicht Actionlistener zu implementieren. klar, dass der jframe dann nen actionperformed braucht.
also weg damit.
 
G

Gast

Gast
hoppla sorry :) hab ne komischefehlermeldung beim antowrten bekommen.
 

Leroy42

Top Contributor
Gast hat gesagt.:
hoppla sorry :) hab ne komischefehlermeldung beim antowrten bekommen.

Die habe ich heute morgen auch einmal bekommen. Irgendetwas mit einem nicht-anklickbaren
Test "Debug-Mode" oder so.

Der Post wurde dennoch eingetragen :D
 

Leroy42

Top Contributor
Hah! :) Wie's der Zufall so will, habe ich ihn bei Eintragen des vorherigen Posts wieder erhalten.

JavaForum hat gesagt.:
Ran into problems sending Mail. Response: 535 authorization failed (#5.7.0)

DEBUG MODE

Line : 40
File : /www0126/www.java-forum.org/de/includes/smtp.php

Kommt davon wenn ein Java-Forum mittels php-Software realisiert wird. :cool: :noe:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
D Seltsames Verhalten... Java Basics - Anfänger-Themen 5
S Compiler-Fehler Seltsames Typverhalten eines Iterators Java Basics - Anfänger-Themen 3
P Seltsames numerisches Problem Java Basics - Anfänger-Themen 5
K Seltsames Ergebnis in Netbeans bei einfacher Multiplikation Java Basics - Anfänger-Themen 5
J Doppelte Integer aus einem Array entfernen - seltsames Prob. Java Basics - Anfänger-Themen 5
F Seltsames Konstrukt? Java Basics - Anfänger-Themen 5
S Seltsames Java Problem Java Basics - Anfänger-Themen 3
M seltsames Phänomen in der Auswertung boolscher Variablen Java Basics - Anfänger-Themen 7
D Seltsames Problem mit this! Java Basics - Anfänger-Themen 19
M Seltsames java.util.Date Problem Java Basics - Anfänger-Themen 6
M Seltsames Problem Java Basics - Anfänger-Themen 4
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
MarvinsDepression Operatoren Verhalten von BitShiftOperatoren Java Basics - Anfänger-Themen 2
G Merkwürdiges Verhalten der Maven IDE Java Basics - Anfänger-Themen 3
D Unerwartetes Verhalten bei Client Server Chat App Java Basics - Anfänger-Themen 12
G unklares Verhalten nach Instanzierung neuer Klasse Java Basics - Anfänger-Themen 3
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
K Klassen Eclipse Verhalten bei Klassen Java Basics - Anfänger-Themen 16
M Verhalten von LocalDateTime#getNano() Java Basics - Anfänger-Themen 1
T Objekte mit Verhalten Java Basics - Anfänger-Themen 14
D Klassen Verhalten von Klassenvererbung bei Variablen Java Basics - Anfänger-Themen 1
O JFileChooser Verhalten -Pfad Java Basics - Anfänger-Themen 15
S Verhalten von JTextField in einem JTabbedPane (Register) Java Basics - Anfänger-Themen 6
G Input/Output Verhalten BuffferedReader bei unvollständigen Zeichen Java Basics - Anfänger-Themen 1
D Interface für Verhalten von "=="? Java Basics - Anfänger-Themen 21
B Thread komisches Verhalten auf Mac ... Java Basics - Anfänger-Themen 6
B Komisches Verhalten von ArrayList Java Basics - Anfänger-Themen 6
S JInternalFrame in JInternalFrame - Verhalten Java Basics - Anfänger-Themen 2
F Nicht nachvollziehbares Verhalten Java Basics - Anfänger-Themen 7
K Komisches Verhalten beim erstellen einer Datei Java Basics - Anfänger-Themen 5
T unerklärliches Verhalten von Scanner Java Basics - Anfänger-Themen 2
Ham Verhalten beim Initialisieren von Arrays Java Basics - Anfänger-Themen 16
D Komisches Verhalten einer For-Schleifen Java Basics - Anfänger-Themen 7
zilti Unlogisches Verhalten Java Basics - Anfänger-Themen 4
N public void und verhalten bei return Java Basics - Anfänger-Themen 2
P Komisches Verhalten von BufferedReader und readLine() Java Basics - Anfänger-Themen 2
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
T DamagedFontException beim drucken Java Basics - Anfänger-Themen 3
Z SNAKE Schlange beim Aufheben von Essen verlängern Java Basics - Anfänger-Themen 4
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
S Fehler beim Programm Java Basics - Anfänger-Themen 2
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
Avalon Programmierstil beim Mocken Java Basics - Anfänger-Themen 45
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
E Macht Java Rechenfehler beim Potenzieren und Mod? Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
Kirby.exe Fehler beim Ausgeben Java Basics - Anfänger-Themen 2
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
D Was tun gegen zu komplzierten Denken beim Programmieren Java Basics - Anfänger-Themen 27
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40

Ähnliche Java Themen

Neue Themen


Oben