ActionListener reagiert nicht auf Button

Status
Nicht offen für weitere Antworten.

peter009

Mitglied
Hallo,
ich habe ein Problem mit dem ActionListener.

Zuerst hab ich mit einem eigenen Programm angefangen.
Ein einfacher Button bekommt einen ActionListener. Beim drücken passiert nix.

Dann habe ich ein Beispiel-Programm 1zu1 nach gebaut:

Java:
/**
    * Konstruktor
    */
   public StartApplet() {

     getContentPane().setLayout(new BorderLayout());
  
     getContentPane().add(new JTextField("Texteingabe"),
                              BorderLayout.NORTH);
  
     JButton button = new JButton("Klick mich!");
     
     button.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
  
         JOptionPane.showMessageDialog (
              (JButton) e.getSource(), "Danke.");
       }
     });
  
     getContentPane().add(button, BorderLayout.CENTER);
  
     setSize(200, 100);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     setVisible(true);
   }
  
   public static void main(String[] argv) {
     new StartApplet();
   }

Beim betätigen des Knopfes soll ein PopUp Fenster erscheinen. Bei mir passiert nix ...
Mir ist auch aufgefallen, dass ich das Programm nicht richtig schliessen kann. Beim drücken von "X"
kommt nach einer Zeit die Frage, ob ich ein Beenden erzwingen oder warten möchte.

Programmiere unter Eclipse 3.2.2 und starte das Applet einfach in dem ich "Run As" -> "Java Application" ausführe.

Hat einer ein Tipp woran es liegen kann?
 
S

SlaterB

Gast
aber der Button ist schon zu sehen?
teste, ob du vom ActionListener aus in einem Label Text setzen kannst oder System.out.println(), falls das irgendwo zu sehen ist,
vielleicht sind MessageDialoge nicht erlaubt,

wenn der Button nicht zu sehen ist, dann empfehle ich, den Konstruktor ganz leer zu lassen und allen Code in die init()-Methode zu schreiben oder wie auch immer die heißt

obwohl, der Code sieht so aus, als würde er weder in einer Applet noch JApplet-Klasse funktionieren, sondern nur in einem JFrame,
Java:
public class StartApplet
    extends JFrame
{
    /**
     * Konstruktor
     */
    public StartApplet()
    {

        getContentPane().setLayout(new BorderLayout());

        getContentPane().add(new JTextField("Texteingabe"), BorderLayout.NORTH);

        JButton button = new JButton("Klick mich!");

        button.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {

                    JOptionPane.showMessageDialog((JButton)e.getSource(), "Danke.");
                }
            });

        getContentPane().add(button, BorderLayout.CENTER);

        setSize(200, 100);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setVisible(true);
    }

    public static void main(String[] argv)
    {
        new StartApplet();
    }
}
zeigt bei mir unter Eclipse einen MessageDialog an..
 

peter009

Mitglied
Also ein Button ist schon zu sehen.
Alles wird ganz normal gezeichnet...
Es schmiert aber irgendwie alles ab... wenn ich z.B. das Fenster minimiere und erneut maximiere, dann ist auch alles grau.

zeigt bei mir unter Eclipse einen MessageDialog an..
ich verstehe nicht ganz.?? Zeigt er bei dir etwas an ?
 
S

SlaterB

Gast
hast du vielleicht noch die paint-Methode überschrieben?
kopiere meinen Code 1:1 oder poste deinen Code komplett,

im Moment fällt mir aber nichts wirklich ein, bei mir gehts
 

peter009

Mitglied
Irgendwas überschrieben hab ich nicht. Das war auch schon der ganze Code, außer die ganzen Imports.

Ich habe den Code aber mal unter NetBeans gestartet und siehe da er funktioniert!

Was könnte denn der Unterschied sein?
 
S

SlaterB

Gast
wenn du deinen Code nicht postest, kann ich kaum sagen, was anders ist ;)

meiner ist deiner +
Java:
public class StartApplet
    extends JFrame
{


// Code


}
drumherum,
ob man in NetBeans Code irgendwohin schreiben kann, ohne Klasse, kann ich nicht beurteilen
 

peter009

Mitglied
Das ist der gesamte Code:
Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
      
      
public class StartApplet extends JFrame 
{
      
   /**
    * Konstruktor
    */
   public StartApplet() {
     // Der Titel des Fensters soll der
     // Name der Klasse sein
     super(StartApplet.class.getName());
  
     // Layout-Manager setzen
     getContentPane().setLayout(new BorderLayout());
  
     // Ein Textfeld oben an den Rand setzen
     getContentPane().add(new JTextField("Texteingabe"),
                              BorderLayout.NORTH);
  
     // Button anlegen
     JButton button = new JButton("Klick mich!");
     // Der Button soll einen Dialog starten
     // Hier wird eine anonyme, innere Klasse für das
     // Event-Handling benutzt.
     button.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
  
         System.err.println("Button wurde gedrueckt.");

         JOptionPane.showMessageDialog (
              (JButton) e.getSource(), "Danke.");
       }
     });
  
     // Den Button in der Mitte platzieren
     getContentPane().add(button, BorderLayout.CENTER);
  
     // Größe setzen (oder pack() aufrufen)
     setSize(200, 100);
     
     // Wenn jemand das Fenster schließt, soll
     // die Applikation beendet werden
     // (System.exit (0) wird aufgerufen)
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     // Fenster sichtbar machen
     setVisible(true);
   }
  
  
   /**
    * Start-Methode
    */
   public static void main(String[] argv) {
     new StartApplet();
   }
}
 

Ebenius

Top Contributor
Bei mir funktioniert der Code. [highlight=bash]$ javac StartApplet.java
$ java -cp . StartApplet[/highlight]
Ebenius
 
S

SlaterB

Gast
jo, die Codes sind ziemlich gleich,
wenn du nun wieder deinen Code nimmst (neu kopieren, am besten neue Klasse mit anderen Namen) dann kommt es wieder zum Fehler?
 
G

Gast2

Gast
vielleicht noch im EDT - Thread starten und das setVisible(true) in der main aufrufen.. vielleicht hilfts...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing Bug in Swing? Wenn checkbox disabled reagiert ActionListener nicht AWT, Swing, JavaFX & SWT 5
G ActionListener reagiert nicht AWT, Swing, JavaFX & SWT 4
M ActionListener reagiert nicht AWT, Swing, JavaFX & SWT 6
5 Mod.Dialog reagiert n.auf ActionListener seiner Komponenten AWT, Swing, JavaFX & SWT 4
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
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
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
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
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
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
S ActionListener "nach oben weitergeben" AWT, Swing, JavaFX & SWT 10
M Anonymer ActionListener AWT, Swing, JavaFX & SWT 4
L SWT Actionlistener Combobox öffnen AWT, Swing, JavaFX & SWT 4
S MenuBar ActionListener Event ... AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben