Methoden Action Event wird nicht vollständig ausgeführt

Eduard95

Neues Mitglied
Ich möchte eine Gui programmieren welche zuerst lediglich zwei Buttons beinhaltet. Abhängig davon welchen Button der Benutzer drückt sollen die entsprechenden weiteren Gui Elemente dem Hauptfenster "frame" hinzugefügt werden.
Problem: Wird button1 gedrückt sollte ein neuer Button auf der Gui erscheinen. Der Code im zugehörigen ActionEvent wird aber scheinbar nur bis zur Konsolenausgabe ausgeführt.
Drücke ich zuerst button1 und anschließend button2 so erscheint der neue Button doch noch auf dem Hauptfenster.
Kann mir jemand diesen Zusammenhang erklären ?
Wie muss ich den Code ändern damit der neue Button (bzw. das Panel auf dem er angebracht) ist direkt beim ActionEvent von button1 sichtbar wird?

Code:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Stack implements ActionListener{
  

    public static JFrame frame = new JFrame();
    JButton button1;
    JButton button2;
    JPanel buttonPanel;

      
    public Stack() {
        frame.setTitle("The Planner");
        frame.setSize(400, 400);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
              
        button1 = new JButton("Work");
        button1.setBounds(20, 20, 150, 35);
        button1.addActionListener(this);
      
        button2 = new JButton("Holiday");
        button2.setBounds(200, 20, 150, 35);
        button2.addActionListener(this);
              
        buttonPanel = new JPanel();
        buttonPanel.setLayout(null);
        buttonPanel.setBounds(0, 0, 400, 100);
      
        buttonPanel.add(button1);
        buttonPanel.add(button2);
        frame.add(buttonPanel);
  
        frame.setVisible(true);
    }


    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == button1) {
            System.out.println("Button1 is pressed");

            JPanel overlayPanel = new JPanel();
            overlayPanel.setLayout(new GridLayout());
          
            JButton zuss = new JButton("Open Outlook");
            overlayPanel.add(zuss);
            overlayPanel.setBounds(0, 200, 380, 30);
            frame.add(overlayPanel);
          
            //frame.setVisible(true);
          
        } else if(e.getSource() == button2) {
            System.out.println("Button2 is pressed");
          
            Stack program2 = new Stack();
        }
    }
  
  
    public static void main(String[] args) {
        Stack startProgram = new Stack();       
    }   
}
 
K

kneitzel

Gast
Wenn du einem bereits sichtbaren Fenster etwas hinzu fügst, dann musst Du dem Fenster mindestens sagen, dass es sich neu zeichnen soll (repaint() Aufruf).
Wenn auch noch Positionierung und so berechnet werden muss, dann sollte vor dem repaint noch ein revalidate() Aufruf erfolgen.
 

Eduard95

Neues Mitglied
Wenn du einem bereits sichtbaren Fenster etwas hinzu fügst, dann musst Du dem Fenster mindestens sagen, dass es sich neu zeichnen soll (repaint() Aufruf).
Wenn auch noch Positionierung und so berechnet werden muss, dann sollte vor dem repaint noch ein revalidate() Aufruf erfolgen.


Vielen Dank, das funktioniert!! :D
Wobei mir der Zusammenhang immer noch nicht klar ist warum sich der Frame bei button2 aktualisiert .. egal.
 
K

kneitzel

Gast
Wenn ich das richtig sehe, erstellst Du ein neues Fenster. Dieses verdeckt das alte (teilweise). Wenn Du das neue Fenster verschiebst / klein machst, muss das alte Fenster neu gezeichnet werden. (Als eine Möglichkeit. Das Fenster bekommt aus irgend einem Grund vom Betriebssystem gesagt: mal dich neu!

Ebenso könntest Du nach dem Button1 einfach das Fenster minimieren und wieder her stellen. Dann würde das Betriebssystem dem Fenster auch sagen, dass es sich neu malen soll.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
D Button action Event einblenden/ausblenden Java Basics - Anfänger-Themen 6
P ActionListener Action Event Java Basics - Anfänger-Themen 5
G Button Action Event starten Java Basics - Anfänger-Themen 4
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
D Java Action abkürzen Java Basics - Anfänger-Themen 9
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
M Compiler-Fehler Using action listener Java Basics - Anfänger-Themen 1
O Laufender Timer+Action Listener in Thread VS isAlive() Java Basics - Anfänger-Themen 4
T Button Text mit Action Listener [Hilfe!] Java Basics - Anfänger-Themen 10
G Erste Schritte Action soll zwei sachen ausführen Java Basics - Anfänger-Themen 7
G über JButton Action einen anderen Button verändern Java Basics - Anfänger-Themen 7
D Methoden aus Action Listenern aufrufen Java Basics - Anfänger-Themen 7
G textarea action Java Basics - Anfänger-Themen 5
N Variablen aus Action Listener lesen und weiterverarbeiten Java Basics - Anfänger-Themen 12
W OOP Action Listening und MVC-Modell Java Basics - Anfänger-Themen 3
Devil0s while loop, Button action Java Basics - Anfänger-Themen 8
N Klassen auf den Action Listener in einer andere Klasse zugreifen Java Basics - Anfänger-Themen 6
A action listener Java Basics - Anfänger-Themen 8
K Action Listener reagiert nicht auf Button druck mehr??? Java Basics - Anfänger-Themen 4
J Action Listener Java Basics - Anfänger-Themen 2
M Frage zur Methode Action.putValue(String,Object) Java Basics - Anfänger-Themen 5
S Action Listener Java Basics - Anfänger-Themen 6
M Action als neue Klasse Java Basics - Anfänger-Themen 2
Developer_X Action über rotes X in der Eke eines JFrames entscheiden. Java Basics - Anfänger-Themen 15
S Action Listener Funktioniert nicht Java Basics - Anfänger-Themen 6
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24
G Frage zur Action? Java Basics - Anfänger-Themen 4
G nach action Script aufrufen Java Basics - Anfänger-Themen 3
D problem mit einem action Java Basics - Anfänger-Themen 6
E Action und Accelerator Java Basics - Anfänger-Themen 2
S Problem mit Action Listener Java Basics - Anfänger-Themen 7
M Fehler im Action Listener Java Basics - Anfänger-Themen 9
megachucky Action-/Change Listener funktionieren nicht. Java Basics - Anfänger-Themen 2
G Auswahl in DropDown feldern in JSP seiten als Action Aufruf Java Basics - Anfänger-Themen 2
C Frage bzgl. action von Button Java Basics - Anfänger-Themen 6
B Oberflaecheprog einfaches beispiel (button action listener) Java Basics - Anfänger-Themen 5
Fiedelbambu fxml onAction event Java Basics - Anfänger-Themen 7
T FXMl Event has not a Slot Java Basics - Anfänger-Themen 1
Tommy135 Event erstellen Java Basics - Anfänger-Themen 7
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Event schmeißen Java Basics - Anfänger-Themen 1
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
V Button/Event wird nicht ausgeführt, was tun? Java Basics - Anfänger-Themen 2
J Keyboard Event auch ohne Fokus mitbekommen Java Basics - Anfänger-Themen 2
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
A Key Event - Abfrage von 2 gedrückten Tasten Java Basics - Anfänger-Themen 6
E Event gesucht Java Basics - Anfänger-Themen 1
G Button Event Java Basics - Anfänger-Themen 6
Thallius Hidden Feature über Key Event starten Java Basics - Anfänger-Themen 4
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
U Threadsafe Event-Handling Java Basics - Anfänger-Themen 2
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
T event und while-schleife Java Basics - Anfänger-Themen 26
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
M Während event einen anderen event ausführen?? Java Basics - Anfänger-Themen 3
S Event aus anderer Klasse als Auslöser Java Basics - Anfänger-Themen 5
M Event erstellen Java Basics - Anfänger-Themen 6
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
D Auf Event warten Java Basics - Anfänger-Themen 4
I AWS Event Notification Service Sample ausführen... Java Basics - Anfänger-Themen 7
M JList Event Java Basics - Anfänger-Themen 5
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R eigenen Event schreiben Java Basics - Anfänger-Themen 16
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
D Window resize Event ? Java Basics - Anfänger-Themen 5
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
D Event mit n-Button8s) von einem Panel Java Basics - Anfänger-Themen 9
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
A Synchronisierung oder gibt es das onChange event? Java Basics - Anfänger-Themen 4
J Automatisch Button drücken/Event ausführen? Java Basics - Anfänger-Themen 6
G Methode nicht im Event-Dispatcher-Thread starten? Java Basics - Anfänger-Themen 2
F Doppelklick-Event auf JTree Java Basics - Anfänger-Themen 5
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
G Event Handler Java Basics - Anfänger-Themen 7
T button event Java Basics - Anfänger-Themen 3
P Raw-Key-Event Java Basics - Anfänger-Themen 4
Q ActionListener event bei JPanels Java Basics - Anfänger-Themen 5
J Event-Handling geht nicht Java Basics - Anfänger-Themen 6
G Button event problem Java Basics - Anfänger-Themen 24
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
T java.awt.event.WindowAdapter Java Basics - Anfänger-Themen 2
B Event-Actionlistener(Def) Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben