Button geben Fehlermeldung aus

Ci

Aktives Mitglied
Hallo,

hab da meine Gui, in der ich zwei Buttons implementiert habe, nur bekomm ich da Fehlermeldungen, mit denen ich wenig anfangen kann. hier der Code:

Java:
package getATR;

import java.awt.event.ActionEvent;

public class GUI_ATR extends JFrame{
	
	// Meine Button 
	public static JButton daten_pruefen = new JButton("Daten pruefen");
	public static JButton pruefung_abschließen = new JButton("Pruefung abschliessen");
	
	
	public static JLabel lblKartennr = new JLabel("* Karten-Nr.:");
	public static JFormattedTextField txtFKartennr = new JFormattedTextField();

	public static JTextArea textArea = new JTextArea();
	private final JScrollPane scrollPane = new JScrollPane();
	
	static File f;
	static String path_f;
	static int returnVal;
	
	
	public GUI_ATR() {
		setTitle("TEST");
		
		this.setVisible(true);
		setSize(1010, 532);
		setLocation(150, 100);
		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		JPanel panel = new JPanel();
		getContentPane().add(panel);
		panel.setLayout(null);
		
		// Daten prüfen Button
		
		panel.add(daten_pruefen);
		daten_pruefen.setSize(70, 35);
		daten_pruefen.setLocation(5, 5);
	
		// Prüfung abschließen Button
		
		panel.add(pruefung_abschließen);
		pruefung_abschließen.setSize(95, 35);
		pruefung_abschließen.setLocation(350, 5);

		// Karten-Nr.:
		lblKartennr.setBounds(458, 259, 81, 14);
		panel.add(lblKartennr);
		lblKartennr.setVisible(false);
		
		txtFKartennr.setBounds(579, 256, 100, 20);
		panel.add(txtFKartennr);
		txtFKartennr.setVisible(false);
		
		// Text Area
		
		scrollPane.setBounds(5, 45, 440, 455);
		panel.add(scrollPane);
		scrollPane.setViewportView(textArea);
		
		
		addWindowListener(new meinWindowListener());
		
   // unten auskommentierte: The method addActionListener(ActionListener) in the type 
   // AbstractButton is not applicable for the arguments (GUI_ATR)
    
		/*daten_pruefen.addActionListener(this);
		pruefung_abschließen.addActionListener(this);*/
		
	/////////////////////////////////////////////////
	// Daten prüfen Button
	/////////////////////////////////////////////////
	
	
	daten_pruefen.addActionListener(new ActionListener(){
	public void actionPerformed(ActionEvent e) {
		open_terminal();
		karteninhalt_auslesen.init_log_command_list();
		if (e.getSource() == this.daten_pruefen) {   //Fehlermeldung "daten_pruefen can't be resolved or is not a field"

			gui_leeren();
			open_terminal();
			if (Connect_Terminal.isTerminal_present() == true) {
				open_card();
				if (Connect_Card.isCard_present() == true) {
					
					lblKartennr.setVisible(true);
					txtFKartennr.setVisible(true);
					String inhalt = txtFKartennr.getText();
					System.out.println(inhalt);
					init_osVersion();
					try {
						
						//Karteninhalt ausgeben
						karteninhalt_auslesen.ausgabe_auswahl();
					
					} catch (CardException e1) {
						e1.printStackTrace();
					}
					
				} else {
					GUI_ATR.textArea.append("Keine Karte vorhanden");
					
				}
			} else {
				GUI_ATR.textArea.append("Chipkartenleser ist nicht eingesteckt");
			}
		}
	}
	});
		
		/////////////////////////////////////////////////
		// Prüfung abschließen Button
		/////////////////////////////////////////////////
		
		pruefung_abschließen.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e) {
		if (e.getSource() == this.pruefung_abschließen) {  //Fehlermeldung "pruefung_abschließen can't be resolved or is not a field"
		
			gui_leeren();
			open_terminal();
			
			GUI_ATR.textArea.append("...Formular geleert!");
		}		
	}
	});}
	
	
	public void gui_leeren(){
		
		// um mein Textfeld zu leeren
		textArea.setText("");
		lblKartennr.setVisible(false);					
		txtFKartennr.setVisible(false);
		txtFKartennr.setText("");
	}
	
	public static void init_osVersion() {
		Inhalt_ATR.init_ATR();
		Inhalt_ATR.convert_atr();
		Inhalt_ATR.init_all_Maps();
		Inhalt_ATR.set_all_Variables();
	}
	

	public static void open_terminal() {
		Connect_Terminal.create_factory();
		try {
			Connect_Terminal.create_terminals(0);
		} catch (CardException e2) {
			textArea.append(e2.toString());
		} catch (Exception e2) {
			textArea.append(e2.toString());
		}
	}

	public static void open_card() {
		try {
			Connect_Card.newCard();
		} catch (CardException e1) {
			GUI_ATR.textArea.append(e1.toString());
		}
	}

	public static void File_chooser() throws IOException {
		JFileChooser fc = new JFileChooser();
		fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		returnVal = fc.showOpenDialog(null);

		if (returnVal == JFileChooser.APPROVE_OPTION) {
			setF(fc.getSelectedFile());
			setPath_f(f.getPath());
		}
	}

	public static File getF() {
		return f;
	}

	public static void setF(File f) {
		GUI_ATR.f = f;
	}

	public static String getPath_f() {
		return path_f;
	}

	public static void setPath_f(String path_f) {
		GUI_ATR.path_f = path_f;
	}


	public class meinWindowListener extends WindowAdapter {
		public void windowClosing(WindowEvent a) {
			System.exit(0);
		}
	}
}
 
Zuletzt bearbeitet:
G

Gast2

Gast
Poste doch bitte mal die Fehlermeldungen, evtl. können wir da nen bissl mehr mit anfangen.
 
M

Marcinek

Gast
Java:
if (e.getSource() == this.daten_pruefen) {   //Fehlermeldung "daten_pruefen can't be resolved or is not a field"

Weil das eine anonyme Innerclass ist, die ein Objekt erstellt und demnach this. auf das Objekt der inneren Klasse verweist.

Du möchtest aber sowas nutzen

Code:
GUI_ATR.this.buttonname
 

Ci

Aktives Mitglied
hier mal meine Fehlermeldungen und die dazugehörige main():

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
daten_pruefen cannot be resolved or is not a field
pruefung_abschließen cannot be resolved or is not a field

at getATR.GUI_ATR.<init>(GUI_ATR.java:91)
at getATR.MainKlasse$1.run(MainKlasse.java:16)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Java:
import java.awt.EventQueue;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MainKlasse {

	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
			try {
				GUI_ATR frame = new GUI_ATR();
				frame.setVisible(true);
					
				
			} catch (Exception e) {
					e.printStackTrace();
			}
			}
		});
	}
 

Michael...

Top Contributor
Eine Lösung zur Fehlerbehebung hat Marcinek ja bereits genannt, eine andere wäre einfach das
Code:
this
weglassen, da daten_pruefen eine Instanzvariable der Klasse GUI_ATR ist und somit auch in einer inneren Klasse bekannt ist.

Grundsätzlich aber ist diese Überprüfung völliger Käse.
Es wird ein ananonymer ActionListener erzeugt und direkt am Button registiert. D.h. nur dieser Button kann eine Action auslösen auf die dieser Listener reagiert. Warum sollte der Listener dann nochmals prüfen, ob das Event tatsächlich von dem Button ausgelöst wurde:autsch:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Wie erstelle ich dazu eine Abfrage ob der Button gedrückt wurde? Allgemeine Java-Themen 8
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
N Value Wert aus HTML-Button mittels thymeleaf spring an java übergeben Allgemeine Java-Themen 2
N Apache POI/ neue Reihe in Excel mit einem Button Allgemeine Java-Themen 2
S Swing Speichern nach Button-Klick Allgemeine Java-Themen 5
E Problem mit Gridlayout und Button Allgemeine Java-Themen 2
M itext - Button der Text in Zwischenablage stellt Allgemeine Java-Themen 0
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
M JavaFX Button mit mehreren Aktionen? Allgemeine Java-Themen 7
G Drop down Button Menü (Combobox) Allgemeine Java-Themen 7
E Swing Buttons auf knopfdruck(anderer Button) erstellen Allgemeine Java-Themen 6
K Mit Button neue Klasse öffnen Allgemeine Java-Themen 9
4 Swing Durch klicken auf Button Labels einem Panel hinzufügen Allgemeine Java-Themen 4
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
C Auslesen auslösen über Button-Click Allgemeine Java-Themen 8
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
Tacofan Button nicht mehr anklickbar machen Allgemeine Java-Themen 8
L Nach Button drücken den Text festspeichern Allgemeine Java-Themen 9
J Java eigenen Button programmieren (ob Cursor im Rechteck ist oder nicht..../button pressed or not) Allgemeine Java-Themen 6
F Klassen Klasse bei Button klick öffnen Allgemeine Java-Themen 11
J JScrollPane und Button erscheinen nicht Allgemeine Java-Themen 13
L Label- & Textfelderzeugung durch Button Allgemeine Java-Themen 1
M for Schleife mit Swing Button abbrechen Allgemeine Java-Themen 7
B Button im Web klicken Allgemeine Java-Themen 4
C Java Excel Button Allgemeine Java-Themen 2
J Swing Eigenes Button-design Allgemeine Java-Themen 2
H WAV abspielen nach Button-Klick Allgemeine Java-Themen 4
G Button-Registrierung beim ActionListener erst NACH Tastendruck Allgemeine Java-Themen 2
M JavaFX-Gegenstück zu Swing-Button-DoClick-Methode Allgemeine Java-Themen 5
A Button drücken Allgemeine Java-Themen 3
S Thread anhalten per Button ? Allgemeine Java-Themen 3
D Dialog soll sich beim Klick auf Button schließen Allgemeine Java-Themen 8
M HTTP Selenium button klicken Allgemeine Java-Themen 2
K GUI-Button Inhalte vergleich - TicTacToe Grundriss Allgemeine Java-Themen 11
X Button während Thread aktiv ist disablen Allgemeine Java-Themen 11
R Klasse über Button Event in anderer Klasse informieren Allgemeine Java-Themen 11
R [Android]Wie dynamischen Button-Feld erstellen? Allgemeine Java-Themen 3
F WebBrowser Button automatisch drücken Allgemeine Java-Themen 5
L mit Button jar.Datei öffnen? Allgemeine Java-Themen 5
1 URL mit Button öffnen Allgemeine Java-Themen 29
L Thread stoppen über Button funktioniert nicht Allgemeine Java-Themen 7
ModellbahnerTT Button mit Zahlen beschriften Allgemeine Java-Themen 1
E JTidy html "hidden" Button drücken Allgemeine Java-Themen 7
G Button-Array überschreiben und dem Container zufügen? Allgemeine Java-Themen 2
G Icon auf Button Allgemeine Java-Themen 5
N Button Allgemeine Java-Themen 3
G Schleife durch Button beenden Allgemeine Java-Themen 6
G wenn Button geklickt -> regelmäßig Aktion ausführen Allgemeine Java-Themen 7
G default button für enter taste Allgemeine Java-Themen 3
T JTabbedPane nach Button-Klick wechseln Allgemeine Java-Themen 3
E Button disablen Allgemeine Java-Themen 8
T Button Array verschieben klappt nicht. Allgemeine Java-Themen 6
T Button Action Allgemeine Java-Themen 10
G swt button Allgemeine Java-Themen 6
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
P Button automatisch drücken Allgemeine Java-Themen 5
M bei Klick auf Button Datei einlesen Allgemeine Java-Themen 3
E Button mit 2zeiliger Beschriftung Allgemeine Java-Themen 3
ElViZ HTML-Button mit Java "drücken" lassen? Allgemeine Java-Themen 3
MQue Button setEnabled() Allgemeine Java-Themen 2
MQue Konzept- Frage zum Button-Aktualisieren Allgemeine Java-Themen 5
MQue Button Attribute setzen Allgemeine Java-Themen 14
MQue Button ansprechen Allgemeine Java-Themen 5
MQue Button erzeugen mit 3 Klassen Allgemeine Java-Themen 3
MQue Button mit Icon und Beschriftung Allgemeine Java-Themen 7
MQue Button Event beim drücken und beim auslassen Allgemeine Java-Themen 7
P JComponenten (Button, JSlider, usw) erweitern Allgemeine Java-Themen 12
E Button: Event auslösen Allgemeine Java-Themen 7
E Mit Button ein Fenster öffnen Allgemeine Java-Themen 4
D Cast schlägt fehl : Object[] zu Button[] Allgemeine Java-Themen 2
P invoke per button Allgemeine Java-Themen 5
D Button-Sprache und windowClosing Allgemeine Java-Themen 6
G Text und Bild/Icon im Label/Button positionieren/ausrichten Allgemeine Java-Themen 2
A Wie mach ich, das mein Button schneller reagiert. Allgemeine Java-Themen 13
D Bild per Button painten Allgemeine Java-Themen 5
V Button schließen - NullPointerException Allgemeine Java-Themen 6
H Button ist nicht ansprechbar Allgemeine Java-Themen 4
S 100 Fehler bei Button machen :) Allgemeine Java-Themen 9
G Fenster durch eigenen Button minimieren Allgemeine Java-Themen 6
PCOmega137 Objekten zufällig erzeugte Namen geben Allgemeine Java-Themen 2
M Klassen Objekt weiter geben Allgemeine Java-Themen 1
F Danke geben Allgemeine Java-Themen 2
Minonos Einem Programm Zugriff auf bestimmte Ordner geben Allgemeine Java-Themen 5
GUI-Programmer Prozess eine Bezeichnung geben Allgemeine Java-Themen 3
E Speicherverwaltung bzw. Speicher wieder frei geben?! Allgemeine Java-Themen 8
A String in umgekehrter reihenfolgen wieder geben Allgemeine Java-Themen 16
I Thread eine bestimmte Zeit zur Ausführung geben Allgemeine Java-Themen 2
P JSlider nur bestimmte werte geben Allgemeine Java-Themen 2
C Über C/C++ (JNI) angeforderten Speicher wieder frei geben Allgemeine Java-Themen 3
T Soll ich meine Software als freeware zum download geben? Allgemeine Java-Themen 15
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
thor_norsk Eclipse - Fehlermeldung - JavaFX Allgemeine Java-Themen 24
Zrebna Was bedeutet folgende Fehlermeldung...? Allgemeine Java-Themen 1
A Die unerklärliche Fehlermeldung Allgemeine Java-Themen 5
O long Fehlermeldung Allgemeine Java-Themen 8
ReinerCoder Eclipse Fehlermeldung - The constructor Double(double) is deprecated Allgemeine Java-Themen 8
F Fehlermeldung: java.lang.NoClassDefFoundError: org/apache/commons/net/ntp/NTPUDPClient Allgemeine Java-Themen 6
N Fehlermeldung beheben Allgemeine Java-Themen 6
J Fehlermeldung bei Ausführung von .jar-Datei Allgemeine Java-Themen 9
M stream.Collectors Fehlermeldung Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben