Bonjour,
Comment est-ce que je pourrais faire pour que la taille de tout mes composants s'adaptent à la taille de ma fenêtre à chaque fois que je la modifie en temps réel ?
Merci![]()
Bonjour,
Comment est-ce que je pourrais faire pour que la taille de tout mes composants s'adaptent à la taille de ma fenêtre à chaque fois que je la modifie en temps réel ?
Merci![]()
Il te faut utiliser les layouts de l'API Java ou ceux proposés par des tiers.
Justemen à chaque fois que je modifie la taille de la fenêtre pendant l'éxécution de mon application, la taille des composants ne change paset reste fixe. Ce qui fait que je vois un fond gris lorsque la taille de la fenêtre dépasse celle de tout les composants.
Le layout par défaut de swing. Voici une petite partie du code car extrèmement conséquent.
Voila en gros à quoi ressemble 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
22
23
24
25
26
27
28
29
30
31
32
33 public Fenetre () { // extends de JFrame this.setDefaultCloseOperation (EXIT_ON_CLOSE); this.setLocationRelativeTo(null); this.setSize(800,820); this.setResizable(true); this.add(this.menu, BorderLayout.NORTH); // menu est un JMenuBar this.add(this.panneauprincipal, BorderLayout.CENTER); // panneauprincipal est un JPanel this.pack (); } public PanneauPrincipal (Fenetre fenetre) { // extends de JPanel this.fenetre = fenetre // fenetre est un pointeur vers la classe Fenetre this.onglet = new JTabbedPane (); this.ongletprincipal = new OngletPrincipal (this.fenetre); // onglet qui contiendra quelques composants this.onglet.add("coucou", this.ongletprincipal); this.add(this.onglet, BorderLayout.CENTER); } public OngletPrincipal (Fenetre fenetre) { // extends de JSplitPane this.setOrientation(JSplitPane.HORIZONTAL_SPLIT); this.setOneTouchExpandable(true); this.setDividerLocation(fenetre.getWidth()-184); this.setPreferredSize(new Dimension (fenetre.getWidth()-25,fenetre.getHeight()-90)); this.fenetre = fenetre; this.arbre = new JTree (this.fenetre); this.text = new JTextPane (); this.text.setEditable(false); this.text.setMinimumSize(new Dimension(616,810); this.scroll = new JScrollPane(this.arbre); this.scroll.setMinimumSize(new Dimension(184,810)); this.setLeftComponent(this.text); this.setRightComponent(this.scroll); }
Bonjour,
Ton problème est que sur ton PanneauPrincipal tu n'as pas définit de Layout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public PanneauPrincipal (Fenetre fenetre) { // extends de JPanel this.setLayout(new BorderLayout()); this.fenetre = fenetre // fenetre est un pointeur vers la classe Fenetre this.onglet = new JTabbedPane (); this.ongletprincipal = new OngletPrincipal (this.fenetre); // onglet qui contiendra quelques composants this.onglet.add("coucou", this.ongletprincipal); this.add(this.onglet, BorderLayout.CENTER); }
Partager