Actionlistener auf Button in anderer Klasse

Status
Nicht offen für weitere Antworten.
N

NoGi

Gast
Servus,

habe ein kleines Problem mit den ActionListenern. Ich habe zwei Klasse, ein Hauptklasse und eine Klasse GUI.

In der Klasse GUI definiere ich das komplette aussehen der Anwendung im Konstruktor.

In der Hauptklasse lege ich ein Object von der Klasse GUI an und setze es dann auf visible.

GUI w = new GUI();
w.setVisible(true);

In der GUI gibt es natürlich auf Buttons. Jetzt muss ich in der Hauptklasse wissen, hat der User Button 1 oder Button 2 gedrückt. Wie kann ich das in der Hauptklasse in erfahrung bringen? Kann man in der Hauptklasse eine Actionlistener auf ein Objekt einer Instanz "auflegen?" ?

PS: Ich habe auch schon den Thread http://www.java-forum.org/de/viewtopic.php?t=2342&highlight=actionlistener gelesen, ich würde es allerdings lieber mit Actionlistener lösen (wenn das möglich ist).

Vielen Dank im voraus

Gruß

NoGi

GUI


Code:
import java.awt.event.*;
import javax.swing.*;

public class GUI extends JFrame 
{
	public GUI()
	{
		this.setTitle("Titel");
		this.getContentPane().setLayout(null);
		this.setLocation(100,100);
		this.setSize(230,125);
		this.setResizable(false);

		// Beschreibungstext: Anzahl neue Dokumente
		JLabel labelAnzahl = new JLabel();
		labelAnzahl.setText("Anzahl:");
		labelAnzahl.setBounds(10,3,150,30);
		this.getContentPane().add(labelAnzahl);
		
		// Eingabefeld
		JTextField textFieldAnzahl = new JTextField();
		textFieldAnzahl.setBounds(10,30,205,22);
		textFieldAnzahl.setText("100");
		this.getContentPane().add(textFieldAnzahl);
		
		// OK Button
		JButton buttonOK = new JButton();
		buttonOK.setText("OK");
		buttonOK.setBounds(10,60,95,20); 
		this.getContentPane().add(buttonOK);
		buttonOK.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.out.println("Klasse GUI: OK");
			}			
		});

		// Abbrechen Button
		JButton buttonCancel = new JButton();
		buttonCancel.setText("Cancel");
		buttonCancel.setBounds(120,60,95,20); 
		this.getContentPane().add(buttonCancel);
		buttonCancel.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.out.println("Klasse GUI: Cancel");
			}			
		});
	}
	

}

HauptKlasse
Code:
public class MainProgram
{
	public static void main(String[] args) 
	{
		GUI w = new GUI();
		w.setVisible(true);
	}
}
 
B

Beni

Gast
Hm, ich schlage entweder so was
Code:
public class GUI extends JFrame{
   private JButton buttonOk;
   public GUI(){
      ...
      buttonOk = new JButton( ... );
      ...
   }

   public JButton getButtonOk(){
      return buttonOk;   
   }
}

public class MainProgram{
   public static void main(String[] args){
      GUI w = new GUI();
      w.getButtonOk().addActionListener( ... );
      w.setVisible(true);
   }
}

oder so was
Code:
public class GUI extends JFrame{
   public GUI( ActionListener listener ){
      ...
      buttonOk.addActionListener( listener );
      ...
   }

   public JButton getButtonOk(){
      return buttonOk;   
   }
}

public class MainProgram{
   public static void main(String[] args){
      ActionListener al = ...
      GUI w = new GUI( al );
      w.setVisible(true);
   }
}

vor.

(1. Variante ist schöner und allgemeiner, 2. dafür sicherer, weil nicht jederman Zugriff zum Button hat)

mfg Beni
 

nogi

Mitglied
Servus,

dein Tipp hat soweit funktioniert, noch einmal vielen Dank.

Ich habe nun leider ein anderes Problem. Dieses Programm soll ein JavaAgent für Lotus Domino werden.

Nun zu meinem Probem. Das Programm läuft wunderbar durch, allerdings nur wenn man innerhalb einer 1 Sekunde einer der beiden Buttons drückt. Geschieht dies nicht wird das Programm einfach beendet.

Ich habe in den ActionListener des OK Buttons einfach mal eine Ausgabezeile für die Console mit eingebaut, wenn ich schnell genug bin, wird diese auch ausgegeben.

Wie kann ich dem Programm nun sagen dass es solange warten muss bis eine Eingabe und/oder einer der beiden Buttons gedrückt wurde?

Für euere Hilfe schon einmal im voraus vielen Dank.

Gruß


NoGi

PS: Super Forum :D
 
B

Beni

Gast
Wenn ein JFrame sichtbar gemacht wird, stopt ein Java-Prog normalerweise nicht mehr.
Kann es sein, dass Du irgendwo ein "System.exit(...)" eingebaut hast, welches unabsichtlich aufgerufen wird?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
L actionListener für Button AWT, Swing, JavaFX & SWT 97
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
K GUI, Button, ActionListener - ein paar Einsteigerprobleme AWT, Swing, JavaFX & SWT 1
S Button (ActionListener) funktioniert nicht, wenn y-Koordinate verändert wird AWT, Swing, JavaFX & SWT 5
M getSource() findet Button nicht - ActionListener AWT, Swing, JavaFX & SWT 4
G Swing Button ActionListener macht komische Sachen AWT, Swing, JavaFX & SWT 19
F Swing Beenden eines ActionListener über einen Button AWT, Swing, JavaFX & SWT 8
P ActionListener reagiert nicht auf Button AWT, Swing, JavaFX & SWT 9
E Swing Button ActionListener Infos aus Textfield und ComboBox AWT, Swing, JavaFX & SWT 3
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
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
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
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
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
Blender3D einzelner ActionListener vs anonyme ActionListener AWT, Swing, JavaFX & SWT 10
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
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
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
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
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
T Einfaches Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
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
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
Corben ActionListener Error AWT, Swing, JavaFX & SWT 2
F Wert durch ActionListener an Klasse übergeben AWT, Swing, JavaFX & SWT 3
I Swing Problem mit InputMap bei JButton (ActionListener) AWT, Swing, JavaFX & SWT 3
S Swing JButton mit ActionListener innerhalb einer JTable AWT, Swing, JavaFX & SWT 4
P Variablen in einem ActionListener zurücksetzen AWT, Swing, JavaFX & SWT 6
M AWT Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
A Swing Bug in Swing? Wenn checkbox disabled reagiert ActionListener nicht AWT, Swing, JavaFX & SWT 5
S ActionListener "nach oben weitergeben" AWT, Swing, JavaFX & SWT 10
M Anonymer ActionListener AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben