JFrame, beim ausführen passiert nichts

Status
Nicht offen für weitere Antworten.

Skilllord

Mitglied
Hey,

Ich bin gerade dabei, mir die GUI Grundlagen anzueignen und ich scheitere schon ganz]/b] am Anfang.

Also ich habe eine Java Application erstellt und im gleichen Package ein JFrame.

In das JFrame habe ich ein Label gesetzt und den JFrame dann in die Application reingesetzt (=instanzieren, oder wie war nochmal das Fachwort?!)

Und wenn ich dann auf Run klicke, passiert einfach nichts.

Ich benutze ja ein Videotutorial und ich habe mir die Dateien von der DVD geholt und da funktioniert es.

Hier ein Bild:


Und die Codes:

Code:
package swings;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
    
        JFrame rahmen = new JFrame();


    }

}

und

Code:
package swings;

public class JFrame extends javax.swing.JFrame {

    /** Creates new form JFrame */
    public JFrame() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setText("HALLO");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(132, 132, 132)
                .addComponent(jLabel1)
                .addContainerGap(231, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(55, 55, 55)
                .addComponent(jLabel1)
                .addContainerGap(229, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new JFrame().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    // End of variables declaration

}
 
Zuletzt bearbeitet:
Du hast wahrscheinlich die Klasse Main als Main-Class angegeben.
Da fehlt nämlich noch das rahmen.setVisible(true); am Ende.

Deine Klasse JFrame, sollte auf keinen Fall so heißen, wie die Klasse JFrame aus dem importierten Paket. Klar geht das, aber man sollte die eigenen Klassen nicht so benennen, wie die Klassen von Sun. Das gehört zum schlechten Stil.

Edit: Alternativ kannst du auch in der Projekt-Ansicht mit der rechten Maustaste auf die Fensterklasse (im Moment noch JFrame) klicken und im Kontextmenü dann Run File.
 
Zuletzt bearbeitet:
ganz einfach 😀

du hast 2 mains:
Code:
[COLOR="Indigo"][B]public static void[/B][/COLOR] main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            [B][COLOR="#4b0082"]public void[/COLOR][/B] run() {
                [B][COLOR="#4b0082"]new[/COLOR][/B] JFrame().setVisible(true);
            }
        });
    }

und diese, welche das Frame anzeigt wird nicht angesprochen wenn du die Klasse Main anwirfst in der IDE .. sprich in der anderen main-Methode muss ein rahmen.setVisible(true) rein
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben