Bonjour bonjour,
Je vous écris car j'ai un problème à l'éxecution de mon programme : j'ai une fenêtre dans la quelle j'ai un panneau principal (BorderLayout) qui contient plusieurs boutons au nord. Je désire ajouter une extension de JComponent en dessous (BorderLayout.SOUTH) et je souhaiterais qu'elle occupe le plus d'espace possible. Je ne sais pas quoi préciser comme taille dans mon JComponent pour que cette propriété soit vérifiée ? En n'y ajoutant rien j'esperait que cela fonctionne malgré tout mais pas du tout, il y a un gros "trou" entre mes borderlayouts nord et sud, pourtant je pensais que si on ne spécifiait que ceux là, les autres (centre,etc...) n'étaient pas pris en compte ?
Je vous balance le code(pas très structuré veuillez m'en excuser) au cas où l'un de vous aurait la motivation/gentillesse de regarder.
D'avance Merci !!!
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 import java.awt.*; import java.awt.Color; import java.awt.Graphics; import java.awt.FlowLayout; import java.awt.BorderLayout; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*; import javax.swing.BoxLayout; public class Exam2012_1 extends JFrame{ JMenuBar menu=new JMenuBar(); JMenu fichier=new JMenu("Fichier"); JMenuItem apropos=new JMenuItem("À propos..."); JMenuItem quitter=new JMenuItem("Quitter"); JPanel panelPrincipal=new JPanel(new BorderLayout()); JPanel panelBoutons=new JPanel(new FlowLayout()); JButton rouge=new JButton("Rouge"); JButton vert=new JButton("Vert"); JButton bleu=new JButton("Bleu"); ButtonGroup groupeboutons=new ButtonGroup(); JRadioButton dessin=new JRadioButton("Dessin"); JRadioButton fond=new JRadioButton("Fond"); Composant composant=new Composant(); public Exam2012_1(){ this.setTitle("ADOMNICAI"); fichier.add(apropos); fichier.addSeparator(); quitter.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(0);}}); fichier.add(quitter); menu.add(fichier); this.setJMenuBar(menu); //setPreferredSize(new Dimension(200,50)); rouge.setBackground(Color.RED); rouge.addActionListener(action); vert.setBackground(Color.GREEN);vert.addActionListener(action); bleu.setBackground(Color.BLUE);bleu.addActionListener(action); panelBoutons.add(rouge);panelBoutons.add(vert);panelBoutons.add(bleu); dessin.addActionListener(action); fond.addActionListener(action); groupeboutons.add(dessin);groupeboutons.add(fond); panelBoutons.add(dessin);panelBoutons.add(fond); panelPrincipal.add(panelBoutons,BorderLayout.NORTH); panelPrincipal.add(composant,BorderLayout.SOUTH); this.add(panelPrincipal); } ActionListener action =new ActionListener(){ public void actionPerformed(ActionEvent e){ if(e.getSource()==rouge) System.out.println("Rouge"); if(e.getSource()==vert) System.out.println("Vert"); if(e.getSource()==bleu) System.out.println("Bleu"); if(e.getSource()==dessin) System.out.println("dessin"); if(e.getSource()==fond) System.out.println("fond");} }; public class Composant extends JComponent{ public Composant(){ } public void paint(Graphics g){ g.setColor(Color.WHITE); g.fillRect(0,0,getWidth(),getHeight()); g.setColor(Color.BLACK); g.fillRect(getWidth()/4,getHeight()/4,getWidth()/2,getWidth()/2); System.out.println(getWidth()/4+" "+getHeight()/4+" "+getWidth()/2+" "+getWidth()/2); } } public static void main(String[] args){ javax.swing.SwingUtilities.invokeLater(new Runnable(){ public void run(){ Exam2012_1 f=new Exam2012_1(); f.pack(); f.setVisible(true); } }); } }
Partager