swing
Gestione del layout
Ricerca…
Layout del bordo
import static java.awt.BorderLayout.*;
import javax.swing.*;
import java.awt.BorderLayout;
JPanel root = new JPanel(new BorderLayout());
root.add(new JButton("East"), EAST);
root.add(new JButton("West"), WEST);
root.add(new JButton("North"), NORTH);
root.add(new JButton("South"), SOUTH);
root.add(new JButton("Center"), CENTER);
JFrame frame = new JFrame();
frame.setContentPane(root);
frame.pack();
frame.setVisible(true);
Il layout dei bordi è uno dei più semplici gestori di layout. Il modo di usare un gestore di layout è impostare il gestore di un JPanel
.
Gli slot di Border Layout seguono le seguenti regole:
- Nord e Sud: altezza preferita
- Est e Ovest: larghezza preferita
- Centro: spazio rimanente massimo
BorderLayout
slot di BorderLayout
possono essere vuoti. Il gestore del layout compenserà automaticamente eventuali spazi vuoti, ridimensionandoli quando necessario.
Ecco come appare questo esempio:
Layout del flusso
import javax.swing.*;
import java.awt.FlowLayout;
public class FlowExample {
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(new JButton("One"));
panel.add(new JButton("Two"));
panel.add(new JButton("Three"));
panel.add(new JButton("Four"));
panel.add(new JButton("Five"));
JFrame frame = new JFrame();
frame.setContentPane(Panel);
frame.pack();
frame.setVisible(true);
}
});
}
}
Il layout del flusso è il gestore di layout più semplice che Swing ha da offrire. Il layout del flusso cerca di mettere tutto su una riga e, se il layout supera la larghezza, avvolge la linea. L'ordine è specificato dall'ordine in cui aggiungi componenti al tuo pannello.
Screenshots:
Layout della griglia
GridLayout
consente di disporre i componenti sotto forma di griglia.
Si passa il numero di righe e colonne che si desidera che la griglia abbia al GridLayout
di GridLayout
, ad esempio il new GridLayout(3, 2)
creerà un GridLayout
con 3 righe e 2 colonne.
Quando aggiungi componenti a un contenitore con GridLayout
, i componenti verranno aggiunti riga per riga, da sinistra a destra:
import javax.swing.*;
import java.awt.GridLayout;
public class Example {
public static void main(String[] args){
SwingUtilities.invokeLater(Example::createAndShowJFrame);
}
private static void createAndShowJFrame(){
JFrame jFrame = new JFrame("Grid Layout Example");
// Create layout and add buttons to show restraints
JPanel jPanel = new JPanel(new GridLayout(2, 2));
jPanel.add(new JButton("x=0, y=0"));
jPanel.add(new JButton("x=1, y=0"));
jPanel.add(new JButton("x=0, y=1"));
jPanel.add(new JButton("x=1, y-1"));
jFrame.setContentPane(jPanel);
jFrame.pack();
jFrame.setLocationRelativeTo(null);
jFrame.setVisible(true);
}
}
Questo crea e mostra una JFrame
che assomiglia a:
Una descrizione più dettagliata è disponibile: GridLayout