Sto imparando circa JPanel e GridLayout, questo frammento di codice produrrà un semplice JPanel con 6 bottoniCosa fa .pack()?
package testing;
import java.io.*;
import java.util.*;
import java.security.*;
import javax.xml.bind.DatatypeConverter;
import java.lang.*;
import java.awt.*;
import javax.swing.*;
public class Testing
{
public static class GridPanel extends JPanel
{
public GridPanel()
{
setLayout(new GridLayout(2,3));
setBackground(Color.GREEN);
this.setPreferredSize(new Dimension(500,500));
JButton b1 = new JButton ("Button 1");
JButton b2 = new JButton ("Button 2");
JButton b3 = new JButton ("Button 3");
JButton b4 = new JButton ("Button 4");
JButton b5 = new JButton ("Button 5");
JButton b6 = new JButton ("Button 6");
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
add(b6);
}
}
public static void main(String[] args)
{
GridPanel gp = new GridPanel();
JFrame jf = new JFrame();
jf.add(gp);
jf.pack(); //code wouldnt work if i comment out this line
jf.setVisible(true);
}
}
Mi chiedo il motivo per cui il mio codice wouldnt funziona se io commento jf.pack()
Date un'occhiata al [javadoc] (http://docs.oracle.com/javase /8/docs/api/java/awt/Window.html#pack) – robertoia
Questa domanda sembra essere off-topic perché si tratta di una questione facilmente risolta da a) consultando la documentazione b) provando un semplice esperimento di codice. –
'this.setPreferredSize (new Dimension (500,500)); vedere [Devo evitare l'uso dei metodi Set (Preferred | Maximum | Minimum) in Java Swing?] (Http://stackoverflow.com/q/7229226/ 418556) (Sì.) –