Bonjour, je sais que dans une JDesktopPane, on peut mettre une barre des menus, mais jaimerais savoir comment mettre également une barre d'outils parce que ca ne marche pas par la méthode add().
merci d'avance
Bonjour, je sais que dans une JDesktopPane, on peut mettre une barre des menus, mais jaimerais savoir comment mettre également une barre d'outils parce que ca ne marche pas par la méthode add().
merci d'avance
En fait ta barre d'outils (JToolbar je suppose) s'insère dans ton layout comme tout autre composant graphique par la méthode add du conteneur, ensuite tout dépend du layout utilisé pour le placement et les options
Je n'ai pas une JFrame de base , j'ai un JDesktopPane et des JInternalFrame.
ça ne marche pas add() tout court.
si ça marche je viens de le faire...........
De plus vu que JDesktopPane hérite de Container, tu peux ajouter ce que tu veux dedans pour peu que tu sache utiliser correctement un Layout....
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 import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JToolBar; public class EssaiDesktopPane { public EssaiDesktopPane() { super(); // TODO Auto-generated constructor stub JDesktopPane jd = new JDesktopPane(); jd.setLayout(new GridBagLayout()); JToolBar jt = new JToolBar(); jt.add(new JButton("machin")); GridBagConstraints gc = new GridBagConstraints(); gc.gridx = 0; gc.gridy = 0; gc.fill = GridBagConstraints.BOTH; gc.weightx = 1.0; jd.add(jt,gc); JFrame f = new JFrame("machin"); f.add(jd); f.setVisible(true); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub EssaiDesktopPane e = new EssaiDesktopPane(); } }
Par conter désolé de la qualité du codej'ai fait ça en deux deux sous eclipse
merci ca marche
mais un seul pb :
quand j'agrandis ma JInternalFrame, elle cache ma barre d'outils. Comment faire pour que ma barre d'outils soit visible en tout temps, comme dans Word ou tout autre programme, et que la barre de titre de ma JInternalFrame soit masquée lorsqu'elle est maximisée ?
merci d'avance
Une solution tout simple serait de mettre la JToolBar sur la JFrame qui contient le JDesktopPane au lieu de la mettre dans le JDesktopPane comme le JInternalFrame ne se redimensionne que sur le JDesktopPane(enfin je suppose je n'y ai jamais vraiment touché) comme ça tu auras tout le temps ta toolbar
Sinon il faudrait que tu ajoutes des WindowAdapter sur tes JInternalFrame et que tu redéfinisse la méthode WindowMaximised pour qu'elle face en sirte de ne pas cacher la toolbar
voila deux pistes pour la première question
Par contre la seconde je ne vois pas trop
car un JFrame a bien une méthode setUndecorated mais point de celle ci dans une JInternalFrame
Va peut être falloir passer par une redéfinition de la méthode paintComponent.............
Extraire le panel contenu dans la JInternalFrame et le mettre dans la JFrame principale a la place du JDesktopPane. Par contre il faut se programmer soi-meme les boutons de controle pour restaurer l'ensemble quand on de-maximise la "fenetre interne" (qui n'en est plus vraiment une).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Par contre la seconde je ne vois pas trop car un JFrame a bien une méthode setUndecorated mais point de celle ci dans une JInternalFrame
Sinon peut-etre en mettant un CardLayout sur le JDesktopPane. et en lui ajoutant directement le panel (mais il faut toujours faire ces @#%% de boutons de controle).
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Partager