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