yggdrasil
11-11-2011, 13:00
Ciao a tutti, devo impostare l'interfaccia grafica di un JFrame in maniera tale che dei due pannelli che ci sono presenti(uno accanto all'altro) il primo abbia larghezza fissa e dipendente dalla dimensione del contenuto e il secondo sia completamente liquido ed adattabile secondo il resizing della finestra da parte dell'utente. Ovviamente il frame non potrà collassare fino a diventare più piccolo della dimensione del pannello di sinistra.
Sto impazzendo tra layout manager e pannelli ma niente :muro:
Se sono stato poco chiaro ditemelo :D
Questo è il codice, è stupido tanto per avere elementi su cui lavorare ma rispecchia il mio codice in maniera identica:
WindowUtilities.setNativeLookAndFeel();
JFrame f = new JFrame("This is a test");
f.setSize(400, 200);
/*il numero 1 è quello bianco, che deve restare fissato in larghezza*/
Container content0 = f.getContentPane();
Container content1 = new JPanel();
Container content2 = new JPanel();
content0.setLayout(new GridLayout(1,2));
content0.add(content1);
content0.add(content2);
content1.setBackground(Color.white);
content1.setLayout(new FlowLayout());
content1.add(new JButton("1"));
content1.add(new JButton("2"));
content1.add(new JButton("3"));
content1.add(new JButton("4"));
content1.add(new JButton("5"));
content2.setBackground(Color.black);
content2.setLayout(new FlowLayout());
content2.add(new JButton("6"));
content2.add(new JButton("7"));
content2.add(new JButton("8"));
content2.add(new JButton("9"));
content2.add(new JButton("10"));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
Sto impazzendo tra layout manager e pannelli ma niente :muro:
Se sono stato poco chiaro ditemelo :D
Questo è il codice, è stupido tanto per avere elementi su cui lavorare ma rispecchia il mio codice in maniera identica:
WindowUtilities.setNativeLookAndFeel();
JFrame f = new JFrame("This is a test");
f.setSize(400, 200);
/*il numero 1 è quello bianco, che deve restare fissato in larghezza*/
Container content0 = f.getContentPane();
Container content1 = new JPanel();
Container content2 = new JPanel();
content0.setLayout(new GridLayout(1,2));
content0.add(content1);
content0.add(content2);
content1.setBackground(Color.white);
content1.setLayout(new FlowLayout());
content1.add(new JButton("1"));
content1.add(new JButton("2"));
content1.add(new JButton("3"));
content1.add(new JButton("4"));
content1.add(new JButton("5"));
content2.setBackground(Color.black);
content2.setLayout(new FlowLayout());
content2.add(new JButton("6"));
content2.add(new JButton("7"));
content2.add(new JButton("8"));
content2.add(new JButton("9"));
content2.add(new JButton("10"));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);