Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1980 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Insertion d'une JInternalFrame dans un JScrollPane

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Insertion d'une JInternalFrame dans un JScrollPane

n°726876
voleurdeca​rottes
On peut cogner, chef ?
Posté le 15-05-2004 à 16:34:55  profilanswer
 

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 ?  :sweat:


Message édité par voleurdecarottes le 15-05-2004 à 16:36:57
mood
Publicité
Posté le 15-05-2004 à 16:34:55  profilanswer
 

n°726879
Jubijub
Parce que je le VD bien
Posté le 15-05-2004 à 16:40:08  profilanswer
 

t'a bien mis tes setVisible ?


---------------
Jubi Photos : Flickr - 500px
n°726880
voleurdeca​rottes
On peut cogner, chef ?
Posté le 15-05-2004 à 16:40:37  profilanswer
 

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...


Message édité par voleurdecarottes le 15-05-2004 à 17:02:30
n°726890
spitagor
Posté le 15-05-2004 à 17:06:24  profilanswer
 

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

n°726893
voleurdeca​rottes
On peut cogner, chef ?
Posté le 15-05-2004 à 17:09:15  profilanswer
 

Très bien, je m'engage de ce côté là.  :jap:  
 
Vive les débutants en java !!!

n°726899
voleurdeca​rottes
On peut cogner, chef ?
Posté le 15-05-2004 à 17:21:50  profilanswer
 

Bon, il y a une JInternalFrame dans le JDesktopPane. Mais pas moyen d'avoir des ascenseurs sur le JDesktopPane. SOS!!!

n°726962
voleurdeca​rottes
On peut cogner, chef ?
Posté le 15-05-2004 à 19:16:05  profilanswer
 

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 ?

n°728102
pascal34
one point !
Posté le 17-05-2004 à 11:21:02  profilanswer
 

Tout dépend de ca que tu as dans ton JInternalFrame.
Images -> simple
Tout plein de contrôles -> me paraît hard

n°729683
veryfree
Posté le 17-05-2004 à 23:54:12  profilanswer
 

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;)

n°729800
pascal34
one point !
Posté le 18-05-2004 à 08:46:04  profilanswer
 

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.

mood
Publicité
Posté le 18-05-2004 à 08:46:04  profilanswer
 

n°729913
voleurdeca​rottes
On peut cogner, chef ?
Posté le 18-05-2004 à 10:27:11  profilanswer
 

Le problème a été résolu avec un JDesktopPane. (Merci beaucoup tout le monde) Maintenant j'ai un 2ème problème  :pt1cable: . 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 ?


Message édité par voleurdecarottes le 18-05-2004 à 10:33:23
n°729944
pascal34
one point !
Posté le 18-05-2004 à 10:41:37  profilanswer
 

J'ai rarement besoin de faire scroller un bouton  :lol:  
 
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

n°729949
voleurdeca​rottes
On peut cogner, chef ?
Posté le 18-05-2004 à 10:43:10  profilanswer
 

Ah béh voilà la solution! Net et concis.
 
Merki !

n°731012
voleurdeca​rottes
On peut cogner, chef ?
Posté le 19-05-2004 à 08:16:24  profilanswer
 

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?

n°731020
pascal34
one point !
Posté le 19-05-2004 à 09:02:52  profilanswer
 

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.

n°731039
voleurdeca​rottes
On peut cogner, chef ?
Posté le 19-05-2004 à 09:20:37  profilanswer
 

J'essaye ce soir :jap:

n°731581
voleurdeca​rottes
On peut cogner, chef ?
Posté le 19-05-2004 à 15:21:45  profilanswer
 


 
 :cry: J'ai essayé ce midi, ça marche pas!!!  :cry:  
Un petit bout de code serait le bienvenu...  :jap:

n°731827
pascal34
one point !
Posté le 19-05-2004 à 17:05:05  profilanswer
 


 
Qqch comme ça :  
 

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class TestScroll extends JPanel
  4. {
  5. public TestScroll()
  6. {
  7.  this.initialize();
  8. }
  9. private void initialize()
  10. {
  11.  this.setLayout(new BorderLayout());
  12.  JPanel scrollPanel = new JPanel(new BorderLayout());
  13.  scrollPanel.setMinimumSize(new Dimension(200, 200));
  14.  scrollPanel.setMaximumSize(new Dimension(400, 400));
  15.  scrollPanel.setPreferredSize(new Dimension(250, 250));
  16.  JLabel label = new JLabel("Coucou" );
  17.  label.setHorizontalAlignment(SwingConstants.CENTER);
  18.  scrollPanel.add(label, BorderLayout.CENTER);
  19.  this.add(new JScrollPane(scrollPanel), BorderLayout.CENTER);
  20. }
  21. public static void main(String[] args)
  22. {
  23.  JFrame frame = new JFrame("TestScroll" );
  24.  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  25.  frame.setBounds(50, 50, 100, 100);
  26.  frame.setContentPane(new TestScroll());
  27.  frame.setVisible(true);
  28. }
  29. }


 
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.  :D
 
Par contre je pars en congés 4 jours. Donc pas d'aide de ma part avant Lundi Prochain  :cry:


Message édité par pascal34 le 19-05-2004 à 17:07:19
n°735604
voleurdeca​rottes
On peut cogner, chef ?
Posté le 24-05-2004 à 09:49:45  profilanswer
 

Tant qu'y'aura des mouches Mister Pascal34, j'essaierai ton code dès que possible.

n°735812
voleurdeca​rottes
On peut cogner, chef ?
Posté le 24-05-2004 à 11:45:10  profilanswer
 

Oui il tourne ce code !
 
Mais... (y'a un mais):  :ange:  
 
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.  :jap:  
 
Mon cher Pascal34, merci pour ton code, mais en aurais-tu un autre qui réponde au problème sus-énoncé?  :bounce:


Message édité par voleurdecarottes le 24-05-2004 à 11:47:52
n°736191
pascal34
one point !
Posté le 24-05-2004 à 14:57:03  profilanswer
 

voleurdecarottes a écrit :


Le JLabel "coucou" se redimensionne selon la taille de la JFrame ! Cela est dû au layout.  


 
C'est en partie vrai. C'est dû aussi au

Code :
  1. label.setHorizontalAlignment(SwingConstants.CENTER);


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 :ange:) essaye de voir le AbsoluteLayout. Ca permet de positionner un  controle en lui donnat une position (qu'il gardera) sur le panel


Message édité par pascal34 le 24-05-2004 à 14:57:58
n°736505
voleurdeca​rottes
On peut cogner, chef ?
Posté le 24-05-2004 à 17:21:20  profilanswer
 

Arf, AbsoluteLayout n'en reste pas moins un Layout!  :sweat:  
 
Malgré tout, cela est fort sympathique de ta part.  :jap:  
 
Si je termine ce programme un jour, je te l'enverrai si tu veux! (Tu as le droit de dire non!)  :lol:


Message édité par voleurdecarottes le 24-05-2004 à 17:24:53
n°736512
pascal34
one point !
Posté le 24-05-2004 à 17:25:03  profilanswer
 

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 :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Insertion d'une JInternalFrame dans un JScrollPane

 

Sujets relatifs
probleme insertion caracteres speciaux[PHP]Problème d'insertion bizarre [resolu]
Insertion autopb d'insertion fichier php dans code js
[js] Insertion dans une bdd du choix dans une listeFlash insertion
[Flash] Insertion dynamique de bitmap à partir de la bibliothèqueinsertion contenu d'un fichier .txt dans fichier html
[ORACLE] Erreur à l'insertion[RESOLU] [ORACLE] pb de trigger à l'insertion pl-sql
Plus de sujets relatifs à : Insertion d'une JInternalFrame dans un JScrollPane


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR