Newsgroup: it.comp.java
Titolo: Domanda su Swing

Ciao a tutti, ho creato una gui con il designer di Netbeans (vedi codice 
sotto) e non riesco a capire una cosa: dove diavolo è la dichiarazione 
del JFrame che dovrebbe contenere il tutto ?
Non la vedo da nessuna parte e per quel poco che so di Swing dovrebbe 
esserci un oggetto jframe che contiene tutto il resto.
Sicuramente c'e' qualcosa che non so, mi illuminate? Come la gestisco 
questa cosa per esempio nel caso in cui devo togliere visibilità alla 
finestra nel suo complesso se non c'e' un oggetto singolo su cui 
invocare il metodo?
Grazie.
 
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class StartPanel extends JFrame {
     public StartPanel() {
         initComponents();
     }
 
     private void initComponents() {
 
         pulsanteTavoli = new JButton();
         pulsantePrenotazioni = new JButton();
         pulsanteImpostazioni = new JButton();
         pulsanteUscita = new JButton();
         jLabel1 = new JLabel();
 
         setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
         setTitle("Table Manager");
         setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
 
setForeground(UIManager.getDefaults().getColor("EditorPane.background"));
         setName("startPanel"); // NOI18N
         setResizable(false);
 
         pulsanteTavoli.setFont(new Font("DejaVu Sans", 1, 15)); // NOI18N
         pulsanteTavoli.setText("Tavoli");
 
         pulsantePrenotazioni.setFont(new Font("DejaVu Sans", 1, 15)); 
// NOI18N
         pulsantePrenotazioni.setText("Prenotazioni");
 
         pulsanteImpostazioni.setFont(new Font("DejaVu Sans", 1, 15)); 
// NOI18N
         pulsanteImpostazioni.setText("Impostazioni");
 
         pulsanteUscita.setFont(new Font("DejaVu Sans", 1, 15)); // NOI18N
         pulsanteUscita.setText("Uscita");
         pulsanteUscita.addActionListener(new ActionListener() {
             public void actionPerformed (ActionEvent e){
                 System.exit(0);
             }
         });
 
         jLabel1.setFont(new Font("DejaVu Sans", 2, 18)); // NOI18N
         jLabel1.setText("Benvenuti in Table Manager");
 
         GroupLayout layout = new GroupLayout(getContentPane());
         getContentPane().setLayout(layout);
         layout.setHorizontalGroup(
             layout.createParallelGroup(GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
                 .addContainerGap(80, Short.MAX_VALUE)
 
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                     .addGroup(GroupLayout.Alignment.TRAILING, 
layout.createSequentialGroup()
                         .addComponent(jLabel1, 
GroupLayout.PREFERRED_SIZE, 291, GroupLayout.PREFERRED_SIZE)
                         .addGap(41, 41, 41))
                     .addGroup(GroupLayout.Alignment.TRAILING, 
layout.createSequentialGroup()
 
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
                             .addComponent(pulsanteUscita, 
GroupLayout.PREFERRED_SIZE, 142, GroupLayout.PREFERRED_SIZE)
                             .addComponent(pulsanteTavoli, 
GroupLayout.PREFERRED_SIZE, 142, GroupLayout.PREFERRED_SIZE)
                             .addComponent(pulsanteImpostazioni, 
GroupLayout.PREFERRED_SIZE, 142, GroupLayout.PREFERRED_SIZE)
                             .addComponent(pulsantePrenotazioni, 
GroupLayout.PREFERRED_SIZE, 142, GroupLayout.PREFERRED_SIZE))
                         .addGap(130, 130, 130))))
         );
 
         layout.linkSize(SwingConstants.HORIZONTAL, new Component[] 
{pulsanteImpostazioni, pulsantePrenotazioni, pulsanteTavoli, 
pulsanteUscita});
 
         layout.setVerticalGroup(
             layout.createParallelGroup(GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
                 .addContainerGap()
                 .addComponent(jLabel1, GroupLayout.PREFERRED_SIZE, 45, 
GroupLayout.PREFERRED_SIZE)
                 .addGap(37, 37, 37)
                 .addComponent(pulsanteTavoli, 
GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(pulsanteImpostazioni, 
GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(pulsantePrenotazioni, 
GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(pulsanteUscita, 
GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
                 .addContainerGap(54, Short.MAX_VALUE))
         );
 
         layout.linkSize(SwingConstants.VERTICAL, new Component[] 
{pulsanteImpostazioni, pulsantePrenotazioni, pulsanteTavoli, 
pulsanteUscita});
 
         pack();
         setLocationRelativeTo(null);
 
     public static void main(String args[]) {
         try {
             for (UIManager.LookAndFeelInfo info : 
UIManager.getInstalledLookAndFeels()) {
                 if ("Nimbus".equals(info.getName())) {
                     UIManager.setLookAndFeel(info.getClassName());
                     break;
                 }
             }
         } catch (ClassNotFoundException ex) {
 
java.util.logging.Logger.getLogger(StartPanel.class.getName()).log(java.util.logging.Level.SEVERE, 
null, ex);
         } catch (InstantiationException ex) {
 
java.util.logging.Logger.getLogger(StartPanel.class.getName()).log(java.util.logging.Level.SEVERE, 
null, ex);
         } catch (IllegalAccessException ex) {
 
java.util.logging.Logger.getLogger(StartPanel.class.getName()).log(java.util.logging.Level.SEVERE, 
null, ex);
         } catch (UnsupportedLookAndFeelException ex) {
 
java.util.logging.Logger.getLogger(StartPanel.class.getName()).log(java.util.logging.Level.SEVERE, 
null, ex);
         }
         //</editor-fold>
 
         /* Create and display the form */
         EventQueue.invokeLater(new Runnable() {
             public void run() {
                 new StartPanel().setVisible(true);
             }
         });
     }
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private JLabel jLabel1;
     private JButton pulsanteImpostazioni;
     private JButton pulsantePrenotazioni;
     private JButton pulsanteTavoli;
     private JButton pulsanteUscita;
 
}
 

 public class StartPanel extends JFrame {
 
Non è StartPanel stesso?
 
-- 
Andrea
 


Ah! Beh non mi era proprio saltato alla mente anche se l'istruzione:
 
setName("startPanel"); // NOI18N
 
avrebbe dovuto farmelo capire...
Ma finora avevo visto esempi dove veniva creato sempre un JFrame con una 
new. E ho ancora poca familiarità con l'ereditarietà.
Ma effettivamente mi accorgo ora che le classi in questione NON 
implementavano JFrame!
A proposito ma quindi il reference per questo pannello sarà startPanel?
Già che ci sono mi sapresti dire cosa significa quel commento che NB 
mette automaticamente tale NOI18N ?
 
Grazie.

 Grazie.
 
Prego.
 
 

 Grazie.
 
Prego.
 
 

 mette automaticamente tale NOI18N ?
 
Non uso NetBeans, a intuito direi che sta marcando il fatto di non 
usare l'internazionalizzazione, lo leggo come "no i18n".
 
-- 
Andrea
 

 l'internazionalizzazione, lo leggo come "no i18n".
 
guarderň in giro
grazie