• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JFrame - okno się nie otwiera.

Object Storage Arubacloud
+1 głos
106 wizyt
pytanie zadane 24 grudnia 2021 w Java przez xTMx3 Obywatel (1,560 p.)

Witam, 

dostałem na czas przerwy świątecznej zadanie do zrobienia polegające na stworzeniu programu, który będzie otwierał okno, w którym znajdować ma się jeden przycisk, po naciśnięciu którego będzie rysował się jakiś świąteczny rysunek. Zadanie zacząłem robić na zajęciach, jakiś tydzień / 2 tygodnie temu. Na uczelni całość działała jak należy i bez żadnych problemów rysowała się moja "choinka". Jednak kiedy próbuję otworzyć plik na swoim domowym komputerze, kiedy klikam na "Run Project" jedyne co się dzieje to wyświetla się napis "BUILD SUCCESSFUL (total time: 0 seconds)" i żadne okno się nie uruchamia. 

Od razu powiem też, że korzystam z programu NetBeans i z tego co pamiętam z zajęć, tworzyłem nowy plik klikając tą białą ikonkę w lewym górnym rogu i tam wybierałem coś ( najprawdopodobniej Swing GUI Forms i tam JFrame Form ). 

Nie wiem czy jest tutaj potrzebny kod czy nie, więc wklejam go, tak w razie czego:

package zadanie1;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JOptionPane;

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
 */

/**
 *
 * @author Student
 */
public class choinka extends javax.swing.JFrame {

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

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        rysowanie = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        rysowanie.setText("Rysuj");
        rysowanie.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rysowanieActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(rysowanie)
                .addContainerGap(519, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(rysowanie)
                .addContainerGap(527, Short.MAX_VALUE))
        );

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

    private void rysowanieActionPerformed(java.awt.event.ActionEvent evt) {                                          

        // okno ma wymiary 600x600
        Graphics gr = getGraphics();
        
        int[] x = {300,50,550};
        int[] y = {50,480,480};
        gr.setColor(Color.green);
        gr.fillPolygon(x, y, 3);
        gr.setColor(Color.gray);
        gr.fillRect(250, 480, 100, 100);
        
        
    }                                         

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(choinka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(choinka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(choinka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(choinka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new choinka().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton rysowanie;
    // End of variables declaration                   
}

Jestem osobą początkującą, więc zapewne jest jakieś banalne rozwiązanie, którego po prostu nie znam. Nie mniej jednak, będę bardzo wdzięczny za pomoc. 

1 odpowiedź

+1 głos
odpowiedź 26 grudnia 2021 przez Wiciorny Ekspert (271,610 p.)
wybrane 26 grudnia 2021 przez xTMx3
 
Najlepsza

Musisz odpowiednio zbudować projekt. Trudno jest doradzić, program działa - jednak u Ciebie problem może wynikać z "braku widoczności bilbiotek", albo odpowiedniej konfiguracji do uruchomienia aplikacji GUI 

2 tipy : 
Spróbuj tak: ustaw JFrame jako główną klasę swojego projektu, w zakładce „Projekt” w nazwie projektu (ikona filiżanki kawy), kliknij prawym przyciskiem myszy -> ustaw konfigurację -> dostosuj -> w sekcji „Uruchom” kliknij na Przeglądaj przycisk, aby wybrać domyślną klasę główną (żądany JFrame).

Project- >(ikona kawy)-> set configuration -> customize -> w sekcji  Run  wybierz swój projekt.

Dlatego tak, bo domyślnie NetBeans może nie ładować twojego projektu tylko uruchamiać się defultowo 

1
komentarz 26 grudnia 2021 przez xTMx3 Obywatel (1,560 p.)
Pomogło. Dziękuję serdecznie za pomoc.

Podobne pytania

0 głosów
1 odpowiedź 361 wizyt
pytanie zadane 12 lutego 2021 w Java przez Aleksandra6 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 1,069 wizyt
pytanie zadane 1 grudnia 2015 w Java przez Mikrokontroler xD Stary wyjadacz (13,500 p.)
0 głosów
1 odpowiedź 217 wizyt

92,661 zapytań

141,557 odpowiedzi

320,000 komentarzy

62,028 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...