Bonjour,
Je suis entrain de faire une application de gestion en Swing. Pour cela, j'ai donc fait un menu avec différent item et lorsque je clique sur Nouveau, cela m'affiche une liste d'année.
Or je n'arrive pas à afficher correctement cette liste. Je souhaiterait afficher 4 valeurs dans cette liste et si plus de valeur, mette une JScrollPane et ensuite afficher un bouton en dessous de cette liste.
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public class Accueil extends JFrame{ private MenuBar barreMenu; public Accueil(){ setTitle("Gestion d'emploi du temps"); initUI(); } private void initUI() { setSize(600, 600); barreMenu = new MenuBar(this); setJMenuBar(barreMenu); } public static void main(String[] args) { Accueil frame = new Accueil(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 ublic class MenuBar extends JMenuBar implements ActionListener { private JMenuBar barreMenu; private JMenu fichier, edition; private JMenuItem ouvrir, nouveau, sauvegarder, fermer, copier, coller; private ChoixAnnee choixAnnee; private Accueil frameAccueil; public MenuBar(Accueil accueil){ this.frameAccueil = accueil; barreMenu = this; fichier = new JMenu("Fichier"); barreMenu.add(fichier); nouveau = new JMenuItem("Nouveau"); fichier.add(nouveau); nouveau.addActionListener(this); ouvrir = new JMenuItem("Ouvrir"); fichier.add(ouvrir); sauvegarder = new JMenuItem("Sauvegarder"); fichier.add(sauvegarder); fermer = new JMenuItem("Fermer"); fichier.add(fermer); edition = new JMenu("Edition"); barreMenu.add(edition); copier = new JMenuItem("Copier"); edition.add(copier); coller = new JMenuItem("Coller"); edition.add(coller); } public void actionPerformed(ActionEvent event) { Object source = event.getSource(); if (source.equals(nouveau)) { choixAnnee = new ChoixAnnee(); frameAccueil.add(choixAnnee); this.updateUI(); } } }
Voilà ce que cela donner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public class ChoixAnnee extends JPanel implements ActionListener { private JList liste; private String[] annee = {"2010-2011", "2011-2012", "2012-2013", "2013-2014", "2014-2015", "2015-2016", "2016-2017"}; private JButton creer; private JPanel panneau; public ChoixAnnee(){ liste = new JList(annee); creer = new JButton("Créer le calendrier"); creer.addActionListener(this); liste.setSelectedIndex(5); liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION) ; JScrollPane ascenseur = new JScrollPane(liste); ascenseur.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); add(liste); add(creer); } public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub } }
Merci de votre aide
Partager