ActionEvent löst nicht aus

Status
Nicht offen für weitere Antworten.

mimaxx

Mitglied
Hallo Java-Gemeinde,

ich hab ein ärgerliches Problem.

Zur Zeit schreibe ich an einer Applikation, die dazu dienen soll, JavaCards anzusprechen. Allerdings brauche ich einige Subpanels etc. bspw. für PIN Eingaben usw.

Jetzt dreh ich fast durch.

Es gibt einen Hauptcontroller und mehrere SubController, die für die Aktionen der einzelnen Panels zuständig sind und deren Models observieren. Jetzt hab ich in einem Panel einen JButton, der einen ActionEvent auslöst und im EventHandling eine Instanz eines neuen Panels erstellt. In diesem Panel sind die PIN-Ziffern-JButtons, die wieder je einen ActionEvent auslösen sollen, um die Ziffern einzulesen.

Mein Problem ist nun, dass sich die angemeldeten Actions nicht melden. Woran kann das liegen, dass dieses neue Panel keine Events auslöst ? Ich kann alle JButtons klicken, aber es passiert nix.

Bin für jede Idee dankbar.

Micha
 
S

SlaterB

Gast
Idee: du machst irgendwas falsch

fügst keine ActionListener hinzu oder reagierst im Listener nicht auf die Events, oder reagierst so, dass es zu keinen sichtbaren Auswirkungen kommt,
mit etwas Code kann man das vielleicht schon klären,

auf Nummer Sicher gehst du, wenn du ein vollständig lauffähiges (möglichst kurzes) Programm postest,
da wird alles gefunden
 

mimaxx

Mitglied
Hier ist die Klasse, innerhalb eines anderen EventHandlings instantiiert wird und die Daten übernehmen
soll, es steht kein Model dahinter.

Vielleicht hilft das weiter




Code:
package support;
import java.awt.BorderLayout;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusListener;

import javax.swing.JButton;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class PinPad extends javax.swing.JPanel implements ActionListener{
	{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	private JPanel jPanel1;
	private JButton jB_PINReset;
	private JLabel jLabelPIN;
	private JTextField jTF_PIN;
	private JButton jB_PINOK;
	private JButton jB_PIN0;
	private JButton jB_PIN9;
	private JButton jB_PIN8;
	private JButton jB_PIN7;
	private JButton jB_PIN6;
	private JButton jB_PIN5;
	private JButton jB_PIN4;
	private JButton jB_PIN3;
	private JButton jB_PIN2;
	private JButton jB_PIN1;
	private JPanel jPanel3;
	private JPanel jPanel2;

	
	public PinPad() {
		super();
		initGUI();
		this.addActionListener(this);
	}
	
	private void initGUI() {
		try {
			BorderLayout thisLayout = new BorderLayout();
			this.setLayout(thisLayout);
			this.setPreferredSize(new java.awt.Dimension(400, 321));
			{
				jPanel1 = new JPanel();
				this.add(jPanel1, BorderLayout.NORTH);
				{
					jLabelPIN = new JLabel();
					jPanel1.add(jLabelPIN);
					jLabelPIN.setText("Geben Sie die PIN hier ein");
				}
			}
			{
				jPanel2 = new JPanel();
				this.add(jPanel2, BorderLayout.SOUTH);
				jPanel2.setPreferredSize(new java.awt.Dimension(400, 41));
				{
					jTF_PIN = new JTextField(4);
					jPanel2.add(jTF_PIN);
					jTF_PIN.setPreferredSize(new java.awt.Dimension(180, 20));
				}
			}
			{
				jPanel3 = new JPanel();
				GridBagLayout jPanel3Layout = new GridBagLayout();
				jPanel3Layout.columnWidths = new int[] {7, 60, 60, 60, 7};
				jPanel3Layout.rowHeights = new int[] {60, 60, 60, 60};
				jPanel3Layout.columnWeights = new double[] {0.1, 0.0, 0.0, 0.0, 0.1};
				jPanel3Layout.rowWeights = new double[] {0.0, 0.0, 0.0, 0.0};
				this.add(jPanel3, BorderLayout.CENTER);
				jPanel3.setLayout(jPanel3Layout);
				{
					jB_PIN1 = new JButton();
					jPanel3.add(jB_PIN1, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN1.setText("1");
					jB_PIN1.setActionCommand("PIN1");
				}
				{
					jB_PIN2 = new JButton();
					jPanel3.add(jB_PIN2, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN2.setText("2");
					jB_PIN2.setActionCommand("PIN2");
				}
				{
					jB_PIN3 = new JButton();
					jPanel3.add(jB_PIN3, new GridBagConstraints(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN3.setText("3");
					jB_PIN3.setActionCommand("PIN3");
				}
				{
					jB_PIN4 = new JButton();
					jPanel3.add(jB_PIN4, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN4.setText("4");
					jB_PIN4.setActionCommand("PIN4");
				}
				{
					jB_PIN5 = new JButton();
					jPanel3.add(jB_PIN5, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN5.setText("5");
					jB_PIN5.setActionCommand("PIN");
				}
				{
					jB_PIN6 = new JButton();
					jPanel3.add(jB_PIN6, new GridBagConstraints(3, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN6.setText("6");
					jB_PIN6.setActionCommand("PIN6");
				}
				{
					jB_PIN7 = new JButton();
					jPanel3.add(jB_PIN7, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN7.setText("7");
					jB_PIN7.setActionCommand("PIN7");
				}
				{
					jB_PIN8 = new JButton();
					jPanel3.add(jB_PIN8, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN8.setText("8");
					jB_PIN8.setActionCommand("PIN8");
				}
				{
					jB_PIN9 = new JButton();
					jPanel3.add(jB_PIN9, new GridBagConstraints(3, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN9.setText("9");
					jB_PIN9.setActionCommand("PIN9");
				}
				{
					jB_PIN0 = new JButton();
					jPanel3.add(jB_PIN0, new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PIN0.setActionCommand("PIN0");
					jB_PIN0.setText("0");
				}
				{
					jB_PINReset = new JButton();
					jPanel3.add(jB_PINReset, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PINReset.setText("Reset");
					jB_PINReset.setActionCommand("PINReset");
				}
				{
					jB_PINOK = new JButton();
					jPanel3.add(jB_PINOK, new GridBagConstraints(3, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
					jB_PINOK.setText("OK");
					jB_PINOK.setActionCommand("PINOK");
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void addActionListener(ActionListener l) 
	{
		jB_PIN0.addActionListener(this);
		jB_PIN1.addActionListener(this);
		jB_PIN2.addActionListener(this);
		jB_PIN3.addActionListener(this);
		jB_PIN4.addActionListener(this);
		jB_PIN5.addActionListener(this);
		jB_PIN6.addActionListener(this);
		jB_PIN7.addActionListener(this);
		jB_PIN8.addActionListener(this);
		jB_PIN9.addActionListener(this);
		jB_PINReset.addActionListener(this);
		jB_PINOK.addActionListener(this);
	}
	
	public void addFocusListener(FocusListener l) 
	{
	}
	
	public void appendPIN(int ziffer)
	{
		if (jTF_PIN.getText() == ""){
			jTF_PIN.setText(Integer.toString(ziffer));
		}
		if (jTF_PIN.getText() != ""){
			jTF_PIN.setText(jTF_PIN.getText()+Integer.toString(ziffer));
		}
	}

	public void actionPerformed(ActionEvent l) {
		// TODO Auto-generated method stub
		if (l.getActionCommand() == "PIN0")
		{
			System.out.println("PIN0");
		}
	}
}
 
S

SlaterB

Gast
@mimaxx:
wenn du schon dabei bist, dann auch in anderen Zeilen korrigieren,

und ein Hinweis:
wieso diese Einschränkung bei der Fehlersuche?

statt
if (l.getActionCommand().equals("PIN0"))
{
System.out.println("PIN0");
}
selbst mit richtigem equals wäre
System.out.println("Hello World");
viel besser,
so merkst du garantiert, ob ein Event empfangen wurde,
egal auf welche mysteriöse Weise vielleicht das ActionCommand falsch gesetzt ist,
dem ==-Fehler wärst du damit zumindest viel näher
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S ActionEvent Press Enter per Code auslösen AWT, Swing, JavaFX & SWT 22
B JavaFX Verständnisfrage EventHandler<ActionEvent> Implementierung in meiner Klasse AWT, Swing, JavaFX & SWT 2
M JavaFX ActionEvent Button AWT, Swing, JavaFX & SWT 6
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
S JavaFX Unterschied MouseEvent und ActionEvent AWT, Swing, JavaFX & SWT 3
KilledByCheese Event Handling Vom ActionEvent auf String zugreifen - genaueres in der Beschreibung AWT, Swing, JavaFX & SWT 3
G Swing Durch GlassPane auf Button klicken und ActionEvent auslösen AWT, Swing, JavaFX & SWT 0
K Ereignisbehandlung, ActionListener, ActionEvent AWT, Swing, JavaFX & SWT 3
T Fehler bei ActionEvent? AWT, Swing, JavaFX & SWT 3
P ActionEvent wird nicht verarbeitet AWT, Swing, JavaFX & SWT 4
X AWT ActionEvent wirft NullPointerExpection Warum? AWT, Swing, JavaFX & SWT 42
P Event Handling Anfängerfrage: ActionEvent bekommt kein Zugriff auf Objekt AWT, Swing, JavaFX & SWT 3
J JavaFX ActionEvent AWT, Swing, JavaFX & SWT 8
U Event Handling JButton Actionevent: starte Spiel AWT, Swing, JavaFX & SWT 4
M Swing ActionEvent soll von Anderem ActionEvent abhängen AWT, Swing, JavaFX & SWT 3
M JPopupMenu per Klick schließen und gleichzeitig ActionEvent auf JButton? AWT, Swing, JavaFX & SWT 15
1 ActionEvent generieren und an ActionListener weiterleiten AWT, Swing, JavaFX & SWT 12
L JFrame größe in einem ActionEvent ändern AWT, Swing, JavaFX & SWT 4
C Programm für 5 sekunden anhalten und actionevent abfangen AWT, Swing, JavaFX & SWT 18
M Arbeiten mit actionPerformed(ActionEvent) oder Alternative AWT, Swing, JavaFX & SWT 7
N Aufgabe: ActionEvent - Abfrage AWT, Swing, JavaFX & SWT 7
N Problem mit ActionEvent - Abfrage AWT, Swing, JavaFX & SWT 10
Dit_ Objekt mit ActionEvent übergeben AWT, Swing, JavaFX & SWT 2
B JFreeChart Balkendiagramm ActionEvent AWT, Swing, JavaFX & SWT 2
kirchrath Swing Aus ActionEvent Objekt herausfinden auf dem er ausgeführt wurde AWT, Swing, JavaFX & SWT 4
T JTable durch ActionEvent befüllen AWT, Swing, JavaFX & SWT 3
B ActionEvent Dateipfad als String übergeben AWT, Swing, JavaFX & SWT 11
M Frage zu ActionEvent? AWT, Swing, JavaFX & SWT 4
P KeyEvent methode an actionEvent methode weiterleiten AWT, Swing, JavaFX & SWT 5
M Eigenes ActionEvent / Eigener Listener AWT, Swing, JavaFX & SWT 2
G ActionEvent richtig anbringen AWT, Swing, JavaFX & SWT 7
C JButton-Name per ActionEvent rausfinden AWT, Swing, JavaFX & SWT 2
P actionlistener und actionevent AWT, Swing, JavaFX & SWT 2
T actionevent an modalen dialog AWT, Swing, JavaFX & SWT 5
L eigene Komponente, ActionEvent senden? AWT, Swing, JavaFX & SWT 3
M ActionEvent manuell senden AWT, Swing, JavaFX & SWT 7
S Neubaufbau eines Tabelleninhalts bei actionEvent AWT, Swing, JavaFX & SWT 4
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Fridolin111 Der KeyListener Löst kein event aus AWT, Swing, JavaFX & SWT 6
O Swing Button löst zweimal aus, obwohl nur einmal geklickt AWT, Swing, JavaFX & SWT 3
M WindowEvent löst immer PropertyChangeListener aus AWT, Swing, JavaFX & SWT 9
lumo Swing Resize löst probleme...? AWT, Swing, JavaFX & SWT 12
T JSlider: ChangeListener löst dreimal aus? AWT, Swing, JavaFX & SWT 4
N Doppelbufferung löst 3 errors aus! AWT, Swing, JavaFX & SWT 3
R setIcon löst Fehler aus AWT, Swing, JavaFX & SWT 4
M JComboBox addItem löst Event aus? AWT, Swing, JavaFX & SWT 3
K [JComboBox] ENTER löst zwei events aus? AWT, Swing, JavaFX & SWT 2
K JComboBox: Event löst Event aus AWT, Swing, JavaFX & SWT 2
R Button löst Schleife aus, danach friert die GUI ein ? AWT, Swing, JavaFX & SWT 7
richis-fragen Spaltenbreite bei drag nicht änderbar AWT, Swing, JavaFX & SWT 4
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
MiMa Darstellung von FXML ateien nicht korrekt (SceneBuilder) AWT, Swing, JavaFX & SWT 2
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX PixelWriter.setColor setzt Farbe nicht AWT, Swing, JavaFX & SWT 2
M JavaFX Diagonale Linie nicht ausgegeben/angezeigt AWT, Swing, JavaFX & SWT 1
M JavaFX Mandelbrot-bild noch nicht optimiert AWT, Swing, JavaFX & SWT 7
Hatsi09 Javafx MediaPlayer spielt nicht immer AWT, Swing, JavaFX & SWT 3
P thread nimmt veränderte boolean nicht AWT, Swing, JavaFX & SWT 7
P Animation läuft nicht korrekt AWT, Swing, JavaFX & SWT 8
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
thor_norsk Icons laden nicht in GUI AWT, Swing, JavaFX & SWT 15
N €-Zeichen wird nicht akzeptiert AWT, Swing, JavaFX & SWT 4
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
G JOptionPane zeigt nicht an was ich will AWT, Swing, JavaFX & SWT 2
S JavaFX WebView zeigt bestimmte Websites nicht an AWT, Swing, JavaFX & SWT 2
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
berserkerdq2 Anchorpane warum kann ich nicht Anchors setzen AWT, Swing, JavaFX & SWT 6
komplettlost Vollbildmodus für MacOs Nutzer geht nicht AWT, Swing, JavaFX & SWT 13
M Scrollbar funktioniert nicht AWT, Swing, JavaFX & SWT 10
D Repaint Funktioniert nicht AWT, Swing, JavaFX & SWT 2
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
_user_q Objekt.setSelected(false), wenn es nicht mehr fokussiert wird AWT, Swing, JavaFX & SWT 2
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
R Fxml findet controller nicht AWT, Swing, JavaFX & SWT 2
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
frager2345 Warum paintComponent hier und nicht paint AWT, Swing, JavaFX & SWT 2
_user_q [JavaFX] Spinner so einstellen, dass er nicht leer bleiben darf? AWT, Swing, JavaFX & SWT 6
T Swing Tooltip-Delay funktioniert nicht immer. AWT, Swing, JavaFX & SWT 1
J Programm findet Resource nicht. AWT, Swing, JavaFX & SWT 6
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
B Swing Menü geht nicht AWT, Swing, JavaFX & SWT 5
B Bild lädt nicht AWT, Swing, JavaFX & SWT 2
princess_sara1997 .jar Datei führt den Code nicht richtig aus AWT, Swing, JavaFX & SWT 19
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
U Code doch nicht austauschbar in 2DGraphics AWT, Swing, JavaFX & SWT 2
P JavaFX Änderungen am Datenmodell visuell nicht sichtbar AWT, Swing, JavaFX & SWT 3
M JavaFX kann man da noch was am code vereinfachen design technisch sieht nicht richtig aus... AWT, Swing, JavaFX & SWT 15
S ChoiceBox aus ArrayList per setValue() mit Wert belegen funktioniert nicht. AWT, Swing, JavaFX & SWT 0
ProggersWorld JavaFX TextArea BackgroundImage wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
G JavaFX Scene ausdrucken nicht möglich, Seite leer AWT, Swing, JavaFX & SWT 5
N Programm Läuft nicht auf anderen Pcs AWT, Swing, JavaFX & SWT 9
izoards Bild ausdrucken - PageFormat setzen geht nicht AWT, Swing, JavaFX & SWT 5
H KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben