Insertion d'une JInternalFrame dans un JScrollPane - Java - Programmation
Marsh Posté le 15-05-2004 à 16:40:37
Oui.
Ce qui me chagrine, c'est que j'arrive très bien à insérer des JTextArea dans des JScrollPane.
Je viens tout juste de voir l'existence des JDesktopPane, la solution est peut-être là, qui sait...
Marsh Posté le 15-05-2004 à 17:06:24
je sais pas si ca va t'aider, mais justement, les JInternalFrame doivent etre ajoutées a un DesktopPane normalement, lui meme ajouté a la frame principale
Marsh Posté le 15-05-2004 à 17:09:15
Très bien, je m'engage de ce côté là.
Vive les débutants en java !!!
Marsh Posté le 15-05-2004 à 17:21:50
Bon, il y a une JInternalFrame dans le JDesktopPane. Mais pas moyen d'avoir des ascenseurs sur le JDesktopPane. SOS!!!
Marsh Posté le 15-05-2004 à 19:16:05
Quelqu'un a-t-il une meilleure idée que la suivante: créer une loupe qui diviserait par 2 la taille de la JInternalFrame et de tout ce qui se trouverait à l'intérieur, pour l'avoir en entier sur l'écran ?
Marsh Posté le 17-05-2004 à 11:21:02
Tout dépend de ca que tu as dans ton JInternalFrame.
Images -> simple
Tout plein de contrôles -> me paraît hard
Marsh Posté le 17-05-2004 à 23:54:12
voleurdecarottes a écrit : Bon, il y a une JInternalFrame dans le JDesktopPane. Mais pas moyen d'avoir des ascenseurs sur le JDesktopPane. SOS!!! |
c'est pas prevu effectivmeent mais dans windows non plus y a pas de scrollpane dans le bureau hein
Marsh Posté le 18-05-2004 à 08:46:04
JDesktopPane n'a rien a voir avec le bureau Windows.
C'est juste une fenêtre spéciale qui peux en contenir d'autre la fenêtre.
Dans les applications MDI windows, il est possible d'avoir des ascensseurs. Comment ? ça dépend de ce que tu utilise pour programmer.
Marsh Posté le 18-05-2004 à 10:27:11
Le problème a été résolu avec un JDesktopPane. (Merci beaucoup tout le monde) Maintenant j'ai un 2ème problème . Le voici...:
Dans une JInternalFrame, j'ai mis un JScrollPane. Cela devrait permettre d'insérer des composants un peu partout et d'y accéder même lorsque la JInternalFrame est toute petite.
Comme ils disent dans l'API: JSCrollPane "Provides a scrollable view of a lightweight component".
A ce qu'ils disent aussi, pour les composants JTable, JList, JTree, JTextArea, et JEditorPane, le scroll apparait tout seul si besoin après un setAutoscrolls(true);
Pour tous les autres composants, il faut rajouter quelques lignes de code (voir la méthode setAutoscrolls()). Or j'ai beau écrire ces lignes, le scroll n'apparait pas lorsque j'insère un JButton dans le JScrollPane.
Quel est la réponse à ce mystère ?
Marsh Posté le 18-05-2004 à 10:41:37
J'ai rarement besoin de faire scroller un bouton
Sans rire, tu devrais mettre un seul JPanel dans le JSCrollPane et ajouter
les controles au JPanel. Ton JScrollPane n'a qu'un composant à scroller
Marsh Posté le 19-05-2004 à 08:16:24
Nouveau rebondissement: Effectivement les composants apparaissent bien, mais toujours pas le scroll!
(Résumé de l'épisode précédent: j'ai une JInternalFrame avec un JScrollPane qui contient un JPanel dans lequel viennent s'ajouter des composants du genre JButtons, JTextArea...)
QQn pour m'aider?
Marsh Posté le 19-05-2004 à 09:02:52
Ne met pas autoscroll à true pour le JPanel sinon tu court-circuites le JScrollPane.
Il faut que le JPanel croit qu'il a tout l'espace qu'il souhaite.
Marsh Posté le 19-05-2004 à 15:21:45
voleurdecarottes a écrit : J'essaye ce soir |
J'ai essayé ce midi, ça marche pas!!!
Un petit bout de code serait le bienvenu...
Marsh Posté le 19-05-2004 à 17:05:05
voleurdecarottes a écrit : J'essaye ce soir |
Qqch comme ça :
Code :
|
Tout se passe dans la méthode initialize() de TestScroll.
Un petit coup de 'javac TestScroll.java' suivi d'un 'java TestScroll' et ça roule ma poule !!!!
Et je ne veux pas lire de "ça marche pas !". Ca compile et ça s'exécute comme il faut avec l'effet attendu.
Par contre je pars en congés 4 jours. Donc pas d'aide de ma part avant Lundi Prochain
Marsh Posté le 24-05-2004 à 09:49:45
Tant qu'y'aura des mouches Mister Pascal34, j'essaierai ton code dès que possible.
Marsh Posté le 24-05-2004 à 11:45:10
Oui il tourne ce code !
Mais... (y'a un mais):
Le JLabel "coucou" se redimensionne selon la taille de la JFrame ! Cela est dû au layout. Or le futur utilisateur de mon programme doit pouvoir placer les composants à l'aide de la souris, où il le souhaite. (donc avec la méthode setBounds(), donc pas de layout !)
Je sais pas si je me suis bien fait comprendre, mon programme (notre programme!) sera un éditeur d'interface homme-machine.
Mon cher Pascal34, merci pour ton code, mais en aurais-tu un autre qui réponde au problème sus-énoncé?
Marsh Posté le 24-05-2004 à 14:57:03
voleurdecarottes a écrit : |
C'est en partie vrai. C'est dû aussi au
Code :
|
qui centre le label horizontalement.
Je suis au boulot et j'ai pas le temps de te pondre un autre code, MAIS (car il ya un mais ) essaye de voir le AbsoluteLayout. Ca permet de positionner un controle en lui donnat une position (qu'il gardera) sur le panel
Marsh Posté le 24-05-2004 à 17:21:20
Arf, AbsoluteLayout n'en reste pas moins un Layout!
Malgré tout, cela est fort sympathique de ta part.
Si je termine ce programme un jour, je te l'enverrai si tu veux! (Tu as le droit de dire non!)
Marsh Posté le 24-05-2004 à 17:25:03
voleurdecarottes a écrit : Si je termine ce programme un jour, je te l'enverrai si tu veux! (Tu as le droit de dire non!) |
Pourquoi pas. Je pourrais voir la bébête dont il est ici question
Marsh Posté le 15-05-2004 à 16:34:55
Bonjour,
J'ai quelques difficultés pour faire apparaitre correctement une JInternalFrame dans un JScrollPane, et lorsque la JInternalFrame apparait, les ascenseurs du JScrollPane n'apparaissent pas lorsque je déplace l'InternalFrame.
Quelle est donc la clé de ce mystère ?
Message édité par voleurdecarottes le 15-05-2004 à 16:36:57