Hallo,
ich versuche gerade mich in Java einzuarbeiten und stehe vor einem Problem.
Ich habe meine Hauptklasse
und meine Fensterklasse
und zuletzt meinen ActionListener
Dann gibt es noch eine Klasse für das neue Fenster, welches ganz anders aussieht wie das Hauptfenster. Die Klasse selbst sollte aber egal sein.
Zu meinem Problem:
Die ganze Nummer funktioniert bis zu dem Punkt, dass ich im ActionListener nicht auf das erste Fenster zugreifen kann um es unsichtbar zu machen.
Ziel: Altes Fenster unsichtbar machen(oder verkleiner oder irgendwas was mir noch einfällt), zweites Fenster öffnen (nachher wenn zweites Fenster geschlossen wird, altes wiederherstellen). Aber soweit egal.
Nur was muss ich tun, damit der ActionListener nciht nur ein neues Fenster öffnet, sondern auch Zugriff auf das erste Fenster erhält und dort manipulieren kann?
Gruß
Freddy
ps: ich hab den Code etwas eingekürzt, da viele unnötige (sich wiederholende) Sachen drin waren und den Code nur unübersichtlich gemacht hätten. Ich hoffe ich hab jetzt keine wichtigen Sachen versehentlich rausgelöscht.
ich versuche gerade mich in Java einzuarbeiten und stehe vor einem Problem.
Ich habe meine Hauptklasse
Java:
import javax.swing.JFrame;
public class HalloWelt {
public static void main(String[] args) {
//Fenster Hauptfenster öffnen
Hauptfenster hauptfenster = new Hauptfenster("HalloWelt");
//Fenster anzeigen
hauptfenster.setSize(800,600);
hauptfenster.setExtendedState(JFrame.MAXIMIZED_BOTH);
hauptfenster.setVisible(true);
}
}
und meine Fensterklasse
Java:
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.WindowConstants;
public class Hauptfenster extends JFrame{
//Konstruktor
Hauptfenster(String titel) {
//Titel setzen
super(titel);
//Layoutmanager festlegen
setLayout(new FlowLayout());
//Menuleiste
JMenuBar menuleiste = new JMenuBar();
//Menus erzeugen
JMenu mnuDatei = new JMenu("Datei");
JMenuItem itmDateiSchließen = new JMenuItem("Programm beenden");
//Menüs aufnehmen
menuleiste.add(mnuDatei);
//Menu ins Fenster hinzufügen
setJMenuBar(menuleiste);
//Buttonbar anlegen
//Buttons definieren
JButton btnTest = new JButton("Test");
//Buttons aufnehmen
add(btnTest);
btnTest.setEnabled(true);
//Button zu Eventhandler anmelden
HauptEventListener hauptEventListener = new HauptEventListener();
btnTest.addActionListener(hauptEventListener);
//Fenster schließen Default
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
und zuletzt meinen ActionListener
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class HauptEventListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
Fenster meinFenster = new Fenster("neues Testfenster");
meinFenster.setSize(600, 400);
meinFenster.setVisible(true);
hauptfenster.setVisible(false);
}
}
Dann gibt es noch eine Klasse für das neue Fenster, welches ganz anders aussieht wie das Hauptfenster. Die Klasse selbst sollte aber egal sein.
Zu meinem Problem:
Die ganze Nummer funktioniert bis zu dem Punkt, dass ich im ActionListener nicht auf das erste Fenster zugreifen kann um es unsichtbar zu machen.
Ziel: Altes Fenster unsichtbar machen(oder verkleiner oder irgendwas was mir noch einfällt), zweites Fenster öffnen (nachher wenn zweites Fenster geschlossen wird, altes wiederherstellen). Aber soweit egal.
Nur was muss ich tun, damit der ActionListener nciht nur ein neues Fenster öffnet, sondern auch Zugriff auf das erste Fenster erhält und dort manipulieren kann?
Gruß
Freddy
ps: ich hab den Code etwas eingekürzt, da viele unnötige (sich wiederholende) Sachen drin waren und den Code nur unübersichtlich gemacht hätten. Ich hoffe ich hab jetzt keine wichtigen Sachen versehentlich rausgelöscht.