Oppure

Loading
12/04/12 14:30
ht-never
Grazie!

solo che adesso per farlo funzionare devo prima creare un JPanel, c'è un modo per saltare il passaggio?
aaa
12/04/12 15:52
Bonny
è buona norma farlo perchè ti spiego:
Dentro un JFrame c'è un pannello di tipo Container quindi tutti gli oggetti che andrai ad inserire nel JFrame in realtà vengono "incollati" nel container
es:
JFrame f = new JFrame();
f.getContentPane().add(new JButton("clicca"));
/// stessa cosa
Container c = f.getContentPane();
c.add(new JButton("clicca"));

Il container come anche il JPanel gode di una proprietà ovvero può essere diviso in settori: North, South ecc..
es
JFrame f = new JFrame();
f.getContentPane().add("North",new JButton("clicca"));

segue che ogni settore verrà occupato da al più gruppi di elementi
per esempio se vogliamo sviluppare un Notepad semplicissimo caratterizzato da una textArea centrale e una serie di pulsanti nella parte Nord del JFrame (tipo salva, nuovo , esci)
scriveremo:
class MYFRAME extends JFrame{

   MYFRAME(){

      JButton salva = new JButton("Salva");
      JButton nuovo = new JButton("Nuovo");
      JButton esci = new JButton("Esci");
      //adesso li inserisco in un pannellp
      JPanel p = new JPanel();
      // tutti in fila indiana :)
      p.setLayout(new FlowLayout());
      p.add(salva);
      p.add(nuovo);
      p.add(esci);
      //posiziono il pannello nella parte nord del JFrame
      this.getContentPane().add("North", p);
    
      //inserisco la textarea
       this.getContentPane().add("Center", new JTextArea());
   }
}

ovviamente tralasciando i dettagli implementativi....
Comunque ti consiglio un manuale o consultare la doc con degli esempi
aaa
12/04/12 15:53
Bonny
è buona norma farlo perchè ti spiego:
Dentro un JFrame c'è un pannello di tipo Container quindi tutti gli oggetti che andrai ad inserire nel JFrame in realtà vengono "incollati" nel container
es:
JFrame f = new JFrame();
f.getContentPane().add(new JButton("clicca"));
/// stessa cosa
Container c = f.getContentPane();
c.add(new JButton("clicca"));

Il container come anche il JPanel gode di una proprietà ovvero può essere diviso in settori: North, South ecc..
es
JFrame f = new JFrame();
f.getContentPane().add("North",new JButton("clicca"));

segue che ogni settore verrà occupato da al più gruppi di elementi
per esempio se vogliamo sviluppare un Notepad semplicissimo caratterizzato da una textArea centrale e una serie di pulsanti nella parte Nord del JFrame (tipo salva, nuovo , esci)
scriveremo:
class MYFRAME extends JFrame{

   MYFRAME(){

      JButton salva = new JButton("Salva");
      JButton nuovo = new JButton("Nuovo");
      JButton esci = new JButton("Esci");
      //adesso li inserisco in un pannellp
      JPanel p = new JPanel();
      // tutti in fila indiana :)
      p.setLayout(new FlowLayout());
      p.add(salva);
      p.add(nuovo);
      p.add(esci);
      //posiziono il pannello nella parte nord del JFrame
      this.getContentPane().add("North", p);
    
      //inserisco la textarea
       this.getContentPane().add("Center", new JTextArea());
   }
}

ovviamente tralasciando i dettagli implementativi....
Comunque ti consiglio un manuale o consultare la doc con degli esempi
aaa
12/04/12 16:08
Bonny
scusate ho sbagliato a cliccare ...

Comunque è quello il motivo per cui ho usato il JPanel (ovviamente in quel caso per un singolo JButton è suparfluo)
aaa