Fiche Composants Java Swing

Transcription

Fiche Composants Java Swing
Quelques Composants Java Swing
Pierre CHAUVET – Institut des Mathématiques Appliquées
Conteneurs
JFrame
JPanel
JScrollPane
JToolBar
JMenuBar
Composant fenêtre qui
comprend :
• un panel accessible
par getContentPane()
• éventuellement une
barre de menu
JFrame frame = new JFrame();
frame.setTitle(‘’Ma Fenêtre’’);
frame.setResizable(true);
frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
Composant panel qui peut
contenir d’autres
composants positionnés
grâce à son layout
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setBackground(Color.GRAY);
panel.setBorder( new
EmptyBorder(5,5,5,5));
JTextArea textarea =
new JTextArea("du texte");
panelCentre.add(
new JScrollPane(textarea),
BorderLayout.CENTER));
Composant qui ne peut
contenir qu’un unique
composant : crée
automatiquement les
ascenseurs (scrollbar) si la
surface visible est
insuffisante
Barre d’outils : affiche des
JButton, JTextField, etc.
avec un layout de type
FlowLayout
Barre de menu, qui
contient une série de
composants JMenu
Classeur à onglets :
chaque onglet est associé
à un panel
JTabbedPane
JToolBar tb=new JToolBar() ;
tb.add(new JButton(« Ouvrir »)) ;
tb.add(new JButton(« Sauver »)) ;
JMenuBar mb=new JMenuBar() ;
frame.setMenuBar(mb) ;
JTabbedPane tp = new JTabbedPane();
JPanel panel01 = new JPanel();
tp.addTab("Panel 1", panel01);
JPanel panel02 = new JPanel();
tp.addTab("Panel 2", panel02);
Layouts
Gestionnaire qui propose
5 emplacements (nord,
sud, est, ouest et centre)
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
JButton btn=new JButton(« NORTH ») ;
panel.add(btn,BorderLayout.NORTH) ;
Gestionnaire qui permet
d’ajouter des composants
les uns à la suite des
autres (comme les mots
dans une phrase)
Gestionnaire qui place les
composants dans une
grille
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
BorderLayout
FlowLayout
GridLayout
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3,2));
1
Gestionnaire de la librarie
JGoodies facilitant la
construction de
formulaires. A utiliser
avec Windows Builder.
FormLayout
JPanel panel = new JPanel();
panel.setLayout(new FormLayout(…)) ;
Textes
Affiche du texte sur une
seule ligne, qui ne peut
être modifié par
l’utilisateur
Champ texte (ou zone de
saisie) qui permet
d’entrer, d’afficher ou de
modifier une unique ligne
de texte
Champ texte multiligne
(style bloc-note)
JLabel
JTextField
JTextArea
JLabel label = new JLabel();
label.setText(« LIBELLE ») ;
JTextField tfield = new JTextField();
tfield.setText(« ZONE DE SAISIE ») ;
tfield.setEditable(true) ;
String s=tfield.getText() ;
JTextArea tarea = new JTextArea();
tarea.setText(« du texte ») ;
tarea.append(« plus de texte ») ;
tarea.setEditable(true) ;
String s=tarea.getText() ;
Boutons
JButton
Ce bouton peut afficher
du texte et/ou un icône
JButton btn=new JButton(«OUVRIR » ) ;
btn.setIcon(new ImageIcon(…));
Combine zone de saisie et
liste déroulante
String[] items = { "Bird", "Cat", "Dog",
"Rabbit", "Pig" };
JComboBox b= new JComboBox(items);
b.setSelectedIndex(4);
Boite à cocher avec un
label associé
JCheckBox b= new JCheckBox("Hair");
b.setSelected(true);
Boite à sélectionner avec
un label associé
JRadioButton b =
new JRadioButton("Pig");
b.setSelected(true);
JComboBox
JCheckBox
JRadioButton
Menus
JMenuBar
JMenu
(Voir conteneurs)
Menu (le texte
correspond à l’entête qui
s’affiche)
Item de menu
JMenuItem
JMenuBar mb=new JMenuBar() ;
JMenu mu01=new JMenu("Menu_01");
mb.add(mu01);
JMenu mu02=new JMenu("Menu_02");
mb.add(mu02);
JMenuItem menuItem01 =
new JMenuItem("Menu_Item_01");
mu01.add(menuItem01);
JMenuItem menuItem02 =
new JMenuItem("Menu_Item_02");
mu01.add(menuItem02);
2