Ciao a tutti, è da poco tempo che ho ripreso a programmare in Java ed avevo bisogno di un'informazione: ho costruito la finestra principale del mio programma usando un JSplitPane, ma quando faccio eseguire il programma, la dimensione del JFrame è più piccola di quanto avevo scritto io nelle sue proprietà (ossia setBounds(150, 0, 1024, 768). Qualcuno sa dirmi dove sbaglio?
Vi allego il codice sorgente, grazie in anticipo!
import javax.swing.*;
import java.awt.*;
import java.awt.Dimension.*;
import java.awt.event.*;
import javax.swing.border.LineBorder;
import javax.swing.ImageIcon;
import javax.swing.JTree;
import javax.swing.JScrollPane.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
public class GestioneClienti extends JFrame {
// variabili globali
private JPanel jContentPane= null;
private JSplitPane splitPane = null;
private JTree jTree;
JPanel panSx, panDx;
JLabel titolo;
ImageIcon home;
// costruttore
public GestioneClienti()
{
super();
creaGUI();
}
// main
public static void main (String Par[])
{
new GestioneClienti();
}
// creo la finestra pricipale
private void creaGUI()
{
this.setTitle("Sapori di mamma Enza");
this.setBounds(150, 0, 1024, 768);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setContentPane(getJContentPane());
this.pack();
this.setVisible(true);
}
// metodo del pannello che contiene i componenti
private JPanel getJContentPane()
{
if (jContentPane == null) {
titolo = new JLabel("GESTIONE CLIENTI", JLabel.CENTER);
titolo.setFont(new Font("Serif",Font.BOLD,16));
titolo.setForeground(Color.BLUE);
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(titolo, BorderLayout.NORTH);
jContentPane.add(getJSplitPane(), BorderLayout.CENTER);
}
return jContentPane;
}
// metodo che crea lo JSplitPane
private JSplitPane getJSplitPane()
{
if (splitPane == null) {
// pannello Sx con Jtree
panSx = new JPanel();
panSx.setBackground(Color.WHITE);
//panSx.setSize(224, 718);
panSx.setBorder(new LineBorder(Color.LIGHT_GRAY,1)); // bordo
panSx.setVisible(true);
// creo la struttura ad albero
DefaultMutableTreeNode top = new DefaultMutableTreeNode("STRUTTURA");
// creo il primo nodo
DefaultMutableTreeNode primo = new DefaultMutableTreeNode("INSERIMENTO DATI ");
// lo aggiungo alla struttura
top.add(primo);
// aggiungo le sotto cartelle al primo nodo
primo.add(new DefaultMutableTreeNode("Clienti"));
primo.add(new DefaultMutableTreeNode("Ordini"));
// creo il secondo nodo
DefaultMutableTreeNode secondo = new DefaultMutableTreeNode("TABELLA");
// lo aggiungo alla struttura
top.add(secondo);
// aggiungo le sotto cartelle al primo nodo
secondo.add(new DefaultMutableTreeNode("Storico cilente"));
// creo l'albero
jTree = new JTree(top);
// imposto il layout del pannello sinistro
panSx.setLayout(new BorderLayout());
panSx.add(jTree);
panDx = new JPanel();
panDx.setBackground(Color.LIGHT_GRAY);
//panDx.setSize(800, 718);
// CREO UN'ETICHETTA CON IMAGINE PER IL PANNELLO DESTRO
home = new ImageIcon("/home/gionni/NetBeansProjects/mammaEnza/src/mammaenza/home3.jpg");
JLabel img = new JLabel("Benvenuti",home, JLabel.CENTER);
img.setFont(new Font("Serif",Font.BOLD,16));
img.setForeground(Color.BLUE);
img.setVerticalTextPosition(JLabel.BOTTOM);
img.setHorizontalTextPosition(JLabel.CENTER);
panDx.setLayout(new BorderLayout());
panDx.add(img, BorderLayout.CENTER);
// aggiungo i pannelli allo SpiltPane
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setLeftComponent(panSx);
splitPane.setRightComponent(panDx);
splitPane.setDividerLocation(1.0);
}
return splitPane;
}
} // end class