Neues JFrame wird nicht richtig angezeigt

ITMatze

Mitglied
Hallo Liebe Comunity!
Ich habe folgendes Problem:
Ich habe ein JFrame mit einem Button Programmiert. Dieser Button soll ein neues JFrame öffnen. Wenn ich aber mit dem Button das JFrame öffne, wird es nur ganz klein angezeigt. Wenn ich diese Klasse aber über die entwicklungsumgebung öffne, wird das fenster in Voller größe angezeigt. Die größe des Fensters wird so festgelegt:
Java:
public static void main(String args[])
    {
        Test fenster = new Test();
        fenster.setSize(fenster.getToolkit().getScreenSize());
    }

Woran liegt es, dass das Fenster, wenn ich es über den Button öffne, nicht korrekt angezeigt wird?

Danke schonmal im Vorraus!

Mit Freundlichen Grüßen

ITMatze
 

LatinFavourite

Bekanntes Mitglied
Setzte die Größe des Fensters einfach direkt im Konstruktor. Also in der Klasse Test einfach die Größe setzen. Wahrscheinlich wird deine Zeile gar nicht mehr aufgerufen.
 

XPenguen

Mitglied
Könntest du vielleicht ein bisschen mehr von deinem Code posten ? Wenn das JFrame beim ButtonClick geöffnet werden soll, muss du dem Button irgendwo einen ActionListener hinzugefügt haben. Deiner Main-Methode kann man nur entnehmen, dass du eine Instanz von der Klasse Test erstellst und ihr eine Größe zuweist.

Java:
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Test buttonFrame = new Test();
buttonFrame.setSize(300,300);
buttonFrame.setVisible(true);
}
});
 

ITMatze

Mitglied
Hier der Code, der das Fenster mit dem Button öffnet:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JButton
public class Menüfenster extends JFrame
{
    JButton Sonnensystem;

    public static void main (String [] args)
    {
        Menüfenster fenster = new Menüfenster();
        fenster.setSize(fenster.getToolkit().getScreenSize());
        fenster.setBackground(Color.black);
    }
   
    public Menüfenster()
    {
        super("Astronomie Informationen");
        assignIcon();
       
        Sonnensystem = new JButton("Unser Sonnensystem");
       
        Sonnensystem.addActionListener(new ButtonLauscher());
       

        add(Sonnensystem);
        Sonnensystem.setBounds(450,120,200,30);
       
        setVisible(true);
        setLayout(null);
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        pack();
    }
   
    private void assignIcon()
    {
        Image img = getToolkit().getImage("Bilder/Astronomie-Icon.gif");
        MediaTracker mt = new MediaTracker(this);
       
        mt.addImage(img, 0);
       
        try{
            mt.waitForAll();
        } catch (InterruptedException e) {
        }
        setIconImage(img);
    }
   
    class ButtonLauscher implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            if (e.getActionCommand().equals("Unser Sonnensystem"))
            {
                dispose();
                new Sonnensystem();
            }
        }
    }
}

Hier der Code von dem fenster, das geöffnet werden soll:
Java:
import java.awt.*;
import java.awt.event.*;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;

public class Sonnensystem extends JFrame
{
    JButton Menü;


    public static void main(String args[])
    {
        Sonnensystem fenster = new Sonnensystem();
        fenster.setSize(fenster.getToolkit().getScreenSize());
        fenster.setBackground(Color.black);
    }

    public Sonnensystem()
    {
        super("Unser Sonnensystem");
        assignIcon();

        JButton Menü = new JButton("Menü");
       
        Menü.addActionListener(new ButtonLauscher());

        add(Menü);
        Menü.setBounds(10,10,100,30);
        
        add(Sonne);
        Sonne.setBounds(40,420,100,30);
       
        setLayout(null);
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        setVisible(true);
        pack();
    }

    public void paint(Graphics g)
    {
        Image Sonne;
        Sonne = getToolkit().getImage("Bilder/Sonne.gif");
        g.drawImage(Sonne,35,300, this);

    }

    private void assignIcon()
    {
        Image img = getToolkit().getImage("Bilder/Astronomie-Icon.gif");
        MediaTracker mt = new MediaTracker(this);

        mt.addImage(img, 0);

        try{
            mt.waitForAll();
        } catch (InterruptedException e) {
        }
        setIconImage(img);
    }

    class ButtonLauscher implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            if(e.getActionCommand().equals("Menü"))
            {
                dispose();
                new Menüfenster();
            }
           
        }
    }
}
 

XPenguen

Mitglied
Du erstellst in deiner SonnenFenster- Main-Methode eine Instanz des Fensters (Sonnensystem), das in der Klasse Menüfenster geöffnet werden soll. Das macht natürlich keinen Sinn.
Die Main-Methode startet deine Applikation. Pro Applikation gibt es nur eine Main-Methode. Nun hast du in beiden deiner Klassen eine Main-Methode, von denen nur eine ausgeführt wird !!!

Wenn du nun deine Main Methode in der Klasse MenüFenster aufrufst, wird zwar deine Instanz der Klasse Sonnenfenster erstellt, aber die Main-Methode der Klasse SonnenFenster wird nicht ausgeführt, was bedeutet, dass die setSize Method nicht ausgeführt wird und das Fenster die Grösse 0 hat !!!

Nimm die Main-Methode in Sonnenfenster raus und mache folgendes:

Java:
public Sonnensystem()
    {
        super("Unser Sonnensystem");
        setSize(500,500);
        setBackground(Color.BLACK);
       assignIcon();

       JButton Menü = new JButton("Menü");
     
        Menü.addActionListener(new ButtonLauscher());

        add(Menü);
        Menü.setBounds(10,10,100,30);
      
        add(Sonne);
        Sonne.setBounds(40,420,100,30);
     
        setLayout(null);
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        setVisible(true);
        pack();
    }
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
S Neues Panel in JFrame anzeigen durch Button klick AWT, Swing, JavaFX & SWT 2
G JButton benutzen um ein neues JFrame zu erstellen AWT, Swing, JavaFX & SWT 3
G JavaFX Code in neues Projekt übernehmen AWT, Swing, JavaFX & SWT 0
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
M Swing Durch Usereingabe neues Objekt AWT, Swing, JavaFX & SWT 2
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
B JavaFX ImageView neues Bild zuweisen AWT, Swing, JavaFX & SWT 19
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
D Neues Dialog Mittig auf dem Bildschirm AWT, Swing, JavaFX & SWT 4
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
G JavaFX Neues Fenster erstellen AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
W Neues TableModel und JTable wird nicht refreshed AWT, Swing, JavaFX & SWT 3
Wirago Swing neues Fenster nicht sichtbar AWT, Swing, JavaFX & SWT 6
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
J Mit Button neues Fenster öffnen AWT, Swing, JavaFX & SWT 17
B Warten bis neues ImageIcon zugewiesen ist AWT, Swing, JavaFX & SWT 3
J jme neues projekt öffnen AWT, Swing, JavaFX & SWT 4
T neues Fenster durch Button öffnen funktioniert nicht!! AWT, Swing, JavaFX & SWT 2
H Applet JApplet soll neues Tab im Browser öffnen AWT, Swing, JavaFX & SWT 2
X Swing Neues Fenster erzeugen AWT, Swing, JavaFX & SWT 3
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
Dit_ Mit Button "Weiter" neues Panel laden, altes ausblenden... AWT, Swing, JavaFX & SWT 4
H Swing [gelöst]Neues Swing Element erstellen AWT, Swing, JavaFX & SWT 4
H Swing neues fenster AWT, Swing, JavaFX & SWT 2
D Neues Java Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
N Durch Button drücken neues Fenster öffnen AWT, Swing, JavaFX & SWT 13
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
F neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
N in jScrollPane, neues Swing Element hinzufügen AWT, Swing, JavaFX & SWT 6
T Jbutton geklickt, dann neues Fenster AWT, Swing, JavaFX & SWT 4
M Will ein neues Fenster AWT, Swing, JavaFX & SWT 13
D Neues JPanel ohne Symbolleisteneintrag AWT, Swing, JavaFX & SWT 6
J Problem: neues Fenster bei dispose öffnen AWT, Swing, JavaFX & SWT 8
M neues Frame per klick anzeigen AWT, Swing, JavaFX & SWT 9
M Neues Programm? AWT, Swing, JavaFX & SWT 20
G Neues Frame über Button öffnen lassen AWT, Swing, JavaFX & SWT 15
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
hamburger_jung Mit Button Klick neues Fenster öffnen. AWT, Swing, JavaFX & SWT 1
G Neues Model für JTextField erstellen AWT, Swing, JavaFX & SWT 8
M fortführung neues Bild laden AWT, Swing, JavaFX & SWT 12
M neues Bild laden AWT, Swing, JavaFX & SWT 15
V JOptionPane neues outfit mit BasicOptionPaneUI? AWT, Swing, JavaFX & SWT 22
J JList - doppelklick auf item -> neues fenster öffnet sich AWT, Swing, JavaFX & SWT 2
M Neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
D in neues Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 3
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
M Tooltip / neues Fenster AWT, Swing, JavaFX & SWT 6
J Neues Problem AWT, Swing, JavaFX & SWT 9
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
Paty JFrame anfänger bräuchte hilfestellung AWT, Swing, JavaFX & SWT 7
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
Mausposition relativ zu JFrame bekommen AWT, Swing, JavaFX & SWT 6
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
N CPU Belastung bei offenem JFrame auf fast 100% AWT, Swing, JavaFX & SWT 15
N Knopf ganz oben (JFrame) AWT, Swing, JavaFX & SWT 9
N JFrame löscht alles, wenn groß gemacht AWT, Swing, JavaFX & SWT 9
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
E JFrame resizing AWT, Swing, JavaFX & SWT 2
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Tabelle in JFrame einfügen AWT, Swing, JavaFX & SWT 1
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
R Swing Hat mein JFrame meinen Component? AWT, Swing, JavaFX & SWT 2
R Swing Design des oberen Balkens in JFrame AWT, Swing, JavaFX & SWT 2
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
R Swing Komponente im JFrame überschreinen sich AWT, Swing, JavaFX & SWT 7
R Swing Ein gezeichneten String aus dem JFrame löschen AWT, Swing, JavaFX & SWT 5
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
T JFrame aktualisieren AWT, Swing, JavaFX & SWT 2
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
L Verbindung von Code und JFrame AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben