Bonjour,
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel et je
n'y arrive pas. Est-ce que je suis obligé dans ce cas d'implémenter
l'interface Scrollable sur une classe de type JPanel? Ou bien est-ce que
je peux le faire sans ça?
Je pose la question car dans la doc, JPanel n'implémente pas l'interface
Scrollable.
Et si je dois implémenter cette interface, qu'est-ce que je dois
implémenter à l'intérieur de mon JPanel pour avoir ma JScrollBar?
Merci d'avance.
Bonjour,
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel et je
n'y arrive pas. Est-ce que je suis obligé dans ce cas d'implémenter
l'interface Scrollable sur une classe de type JPanel? Ou bien est-ce que
je peux le faire sans ça?
Je pose la question car dans la doc, JPanel n'implémente pas l'interface
Scrollable.
Et si je dois implémenter cette interface, qu'est-ce que je dois
implémenter à l'intérieur de mon JPanel pour avoir ma JScrollBar?
Merci d'avance.
Bonjour,
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel et je
n'y arrive pas. Est-ce que je suis obligé dans ce cas d'implémenter
l'interface Scrollable sur une classe de type JPanel? Ou bien est-ce que
je peux le faire sans ça?
Je pose la question car dans la doc, JPanel n'implémente pas l'interface
Scrollable.
Et si je dois implémenter cette interface, qu'est-ce que je dois
implémenter à l'intérieur de mon JPanel pour avoir ma JScrollBar?
Merci d'avance.
Bonjour.
Utiliser Java en direct c'est bien pour apprendre, mais pour écrire des
programmes il est beaucoup plus simple et efficace d'utiliser Java à
travers un environnement de développement comme NETBEANS IDE. voir ici :
https://netbeans.org/.
L'IDE résout les problèmes métaphysiques à notre place !
Bonjour.
Utiliser Java en direct c'est bien pour apprendre, mais pour écrire des
programmes il est beaucoup plus simple et efficace d'utiliser Java à
travers un environnement de développement comme NETBEANS IDE. voir ici :
https://netbeans.org/.
L'IDE résout les problèmes métaphysiques à notre place !
Bonjour.
Utiliser Java en direct c'est bien pour apprendre, mais pour écrire des
programmes il est beaucoup plus simple et efficace d'utiliser Java à
travers un environnement de développement comme NETBEANS IDE. voir ici :
https://netbeans.org/.
L'IDE résout les problèmes métaphysiques à notre place !
Yvon Nedonchelle wrote:Utiliser Java en direct c'est bien pour apprendre, mais pour écrire
des programmes il est beaucoup plus simple et efficace d'utiliser
Java à travers un environnement de développement comme NETBEANS
IDE. voir ici : https://netbeans.org/.
L'IDE résout les problèmes métaphysiques à notre place !
Ok. Merci pour la réponse, mais j'utilise Eclipse et je ne sais pas si
en changeant pour Netbeans, ça résoudrait ce problème particulier.
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel
et je n'y arrive pas. Est-ce que je suis obligé dans ce cas
d'implémenter l'interface Scrollable sur une classe de type JPanel?
Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je n'ai
pas la réponse à cette question...
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin de
mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Yvon Nedonchelle wrote:
> Utiliser Java en direct c'est bien pour apprendre, mais pour écrire
> des programmes il est beaucoup plus simple et efficace d'utiliser
> Java à travers un environnement de développement comme NETBEANS
> IDE. voir ici : https://netbeans.org/.
> L'IDE résout les problèmes métaphysiques à notre place !
>
Ok. Merci pour la réponse, mais j'utilise Eclipse et je ne sais pas si
en changeant pour Netbeans, ça résoudrait ce problème particulier.
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel
et je n'y arrive pas. Est-ce que je suis obligé dans ce cas
d'implémenter l'interface Scrollable sur une classe de type JPanel?
Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je n'ai
pas la réponse à cette question...
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin de
mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Yvon Nedonchelle wrote:Utiliser Java en direct c'est bien pour apprendre, mais pour écrire
des programmes il est beaucoup plus simple et efficace d'utiliser
Java à travers un environnement de développement comme NETBEANS
IDE. voir ici : https://netbeans.org/.
L'IDE résout les problèmes métaphysiques à notre place !
Ok. Merci pour la réponse, mais j'utilise Eclipse et je ne sais pas si
en changeant pour Netbeans, ça résoudrait ce problème particulier.
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel
et je n'y arrive pas. Est-ce que je suis obligé dans ce cas
d'implémenter l'interface Scrollable sur une classe de type JPanel?
Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je n'ai
pas la réponse à cette question...
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin de
mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel
et je n'y arrive pas. Est-ce que je suis obligé dans ce cas
d'implémenter l'interface Scrollable sur une classe de type JPanel?
Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je n'ai
pas la réponse à cette question...
La javadoc de JScrollPane explique le concept et comment les éléments
s'imbriquent.
De mémoire, tu place ton JScrollPane quelque part (dans un
composant) puis tu positionnes un composant à l'intérieur, ce qui
permettra de faire défiler la vue sur ce composant. Et ça se fait avec
JScrollPane.setViewportView (composant)
je pense (le panneau défilant JScrollPane se trouvant intégré dans un
composant parent comme tu le fait pour un autre panneau ou composant).
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin de
mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Si tu veux pouvoir permuter des événements : je ne pense pas que ce
comportement soit prédéfini, mais tu peux sans doute l'écrire en
interceptant les événements clavier/souris sur la liste et en modifiant
le modèle de la liste (là où tu stockes les éléments affichés).
Si tu veux juste un ascenseur autour de ta liste, la solution avec
JScrollPane est la voie à suivre à mon avis.
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel
et je n'y arrive pas. Est-ce que je suis obligé dans ce cas
d'implémenter l'interface Scrollable sur une classe de type JPanel?
Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je n'ai
pas la réponse à cette question...
La javadoc de JScrollPane explique le concept et comment les éléments
s'imbriquent.
De mémoire, tu place ton JScrollPane quelque part (dans un
composant) puis tu positionnes un composant à l'intérieur, ce qui
permettra de faire défiler la vue sur ce composant. Et ça se fait avec
JScrollPane.setViewportView (composant)
je pense (le panneau défilant JScrollPane se trouvant intégré dans un
composant parent comme tu le fait pour un autre panneau ou composant).
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin de
mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Si tu veux pouvoir permuter des événements : je ne pense pas que ce
comportement soit prédéfini, mais tu peux sans doute l'écrire en
interceptant les événements clavier/souris sur la liste et en modifiant
le modèle de la liste (là où tu stockes les éléments affichés).
Si tu veux juste un ascenseur autour de ta liste, la solution avec
JScrollPane est la voie à suivre à mon avis.
Je suis en train d'essayer de mettre une JScrollPane sur un JPanel
et je n'y arrive pas. Est-ce que je suis obligé dans ce cas
d'implémenter l'interface Scrollable sur une classe de type JPanel?
Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je n'ai
pas la réponse à cette question...
La javadoc de JScrollPane explique le concept et comment les éléments
s'imbriquent.
De mémoire, tu place ton JScrollPane quelque part (dans un
composant) puis tu positionnes un composant à l'intérieur, ce qui
permettra de faire défiler la vue sur ce composant. Et ça se fait avec
JScrollPane.setViewportView (composant)
je pense (le panneau défilant JScrollPane se trouvant intégré dans un
composant parent comme tu le fait pour un autre panneau ou composant).
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin de
mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Si tu veux pouvoir permuter des événements : je ne pense pas que ce
comportement soit prédéfini, mais tu peux sans doute l'écrire en
interceptant les événements clavier/souris sur la liste et en modifiant
le modèle de la liste (là où tu stockes les éléments affichés).
Si tu veux juste un ascenseur autour de ta liste, la solution avec
JScrollPane est la voie à suivre à mon avis.
Yliur wrote:Je suis en train d'essayer de mettre une JScrollPane sur un
JPanel et je n'y arrive pas. Est-ce que je suis obligé dans ce
cas d'implémenter l'interface Scrollable sur une classe de type
JPanel? Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je
n'ai pas la réponse à cette question...
La javadoc de JScrollPane explique le concept et comment les
éléments s'imbriquent.
De mémoire, tu place ton JScrollPane quelque part (dans un
composant) puis tu positionnes un composant à l'intérieur, ce qui
permettra de faire défiler la vue sur ce composant. Et ça se fait
avec JScrollPane.setViewportView (composant)
je pense (le panneau défilant JScrollPane se trouvant intégré dans
un composant parent comme tu le fait pour un autre panneau ou
composant).
En fait, c'est ce que j'ai fait avec des JTextPane et ça marche très
bien car ils implémentent l'interface Scrollable. Le JPanel, lui, ne
l'implémente pas. J'avais déjà essayé ce que tu dis plus haut et ça ne
marche pas. La question c'était de savoir si il fallait implémenter
cette interface pour que ça marche? Et si oui, comment?
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin
de mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Si tu veux pouvoir permuter des événements : je ne pense pas que ce
comportement soit prédéfini, mais tu peux sans doute l'écrire en
interceptant les événements clavier/souris sur la liste et en
modifiant le modèle de la liste (là où tu stockes les éléments
affichés).
J'ai une question à ce sujet. J'ai une ArrayList que je peux
transformer en DefaultListModel. Mais quand l'utilisateur fait des
modifications dans le DefaultListModel par l'intermédiare de la
JList, comment est-ce que je peux répercuter ces modifications sur
mon ArrayList de départ. Car c'est elle que je vais sauvegarder.
Est-ce que je suis obligé de recopier tous les éléments du
DefaultListModel dans une nouvelle ArrayList? Ou existe-t-il une
méthode plus simple, moins lourde?
Si tu veux juste un ascenseur autour de ta liste, la solution avec
JScrollPane est la voie à suivre à mon avis.
Non. En fait, je veux pouvoir intervertir les éléments. Les faire
monter ou descendre. Et que ce soit synchro avec la List de départ
qui est une ArrayList et que je sauvegarderai.
Yliur wrote:
>
>>>> Je suis en train d'essayer de mettre une JScrollPane sur un
>>>> JPanel et je n'y arrive pas. Est-ce que je suis obligé dans ce
>>>> cas d'implémenter l'interface Scrollable sur une classe de type
>>>> JPanel? Ou bien est-ce que je peux le faire sans ça?
>>
>> Je vais peut-être choisir une autre option que des JPanel si je
>> n'ai pas la réponse à cette question...
>
> La javadoc de JScrollPane explique le concept et comment les
> éléments s'imbriquent.
>
> De mémoire, tu place ton JScrollPane quelque part (dans un
> composant) puis tu positionnes un composant à l'intérieur, ce qui
> permettra de faire défiler la vue sur ce composant. Et ça se fait
> avec JScrollPane.setViewportView (composant)
> je pense (le panneau défilant JScrollPane se trouvant intégré dans
> un composant parent comme tu le fait pour un autre panneau ou
> composant).
En fait, c'est ce que j'ai fait avec des JTextPane et ça marche très
bien car ils implémentent l'interface Scrollable. Le JPanel, lui, ne
l'implémente pas. J'avais déjà essayé ce que tu dis plus haut et ça ne
marche pas. La question c'était de savoir si il fallait implémenter
cette interface pour que ça marche? Et si oui, comment?
>> Merci quand-même.
>>
>> Au passage, est-ce que quelqu'un sait comment faire monter ou
>> descendre des éléments d'une JList. À la souris ou en clicquant sur
>> un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin
>> de mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
>> d'implémentations de JList, mais aucune ne fait ça...
>
> Si tu veux pouvoir permuter des événements : je ne pense pas que ce
> comportement soit prédéfini, mais tu peux sans doute l'écrire en
> interceptant les événements clavier/souris sur la liste et en
> modifiant le modèle de la liste (là où tu stockes les éléments
> affichés).
J'ai une question à ce sujet. J'ai une ArrayList que je peux
transformer en DefaultListModel. Mais quand l'utilisateur fait des
modifications dans le DefaultListModel par l'intermédiare de la
JList, comment est-ce que je peux répercuter ces modifications sur
mon ArrayList de départ. Car c'est elle que je vais sauvegarder.
Est-ce que je suis obligé de recopier tous les éléments du
DefaultListModel dans une nouvelle ArrayList? Ou existe-t-il une
méthode plus simple, moins lourde?
> Si tu veux juste un ascenseur autour de ta liste, la solution avec
> JScrollPane est la voie à suivre à mon avis.
Non. En fait, je veux pouvoir intervertir les éléments. Les faire
monter ou descendre. Et que ce soit synchro avec la List de départ
qui est une ArrayList et que je sauvegarderai.
Yliur wrote:Je suis en train d'essayer de mettre une JScrollPane sur un
JPanel et je n'y arrive pas. Est-ce que je suis obligé dans ce
cas d'implémenter l'interface Scrollable sur une classe de type
JPanel? Ou bien est-ce que je peux le faire sans ça?
Je vais peut-être choisir une autre option que des JPanel si je
n'ai pas la réponse à cette question...
La javadoc de JScrollPane explique le concept et comment les
éléments s'imbriquent.
De mémoire, tu place ton JScrollPane quelque part (dans un
composant) puis tu positionnes un composant à l'intérieur, ce qui
permettra de faire défiler la vue sur ce composant. Et ça se fait
avec JScrollPane.setViewportView (composant)
je pense (le panneau défilant JScrollPane se trouvant intégré dans
un composant parent comme tu le fait pour un autre panneau ou
composant).
En fait, c'est ce que j'ai fait avec des JTextPane et ça marche très
bien car ils implémentent l'interface Scrollable. Le JPanel, lui, ne
l'implémente pas. J'avais déjà essayé ce que tu dis plus haut et ça ne
marche pas. La question c'était de savoir si il fallait implémenter
cette interface pour que ça marche? Et si oui, comment?
Merci quand-même.
Au passage, est-ce que quelqu'un sait comment faire monter ou
descendre des éléments d'une JList. À la souris ou en clicquant sur
un bouton up/down? Si j'arrive à faire ça, je n'aurais plus besoin
de mon JPanel. Par contre j'ai trouvé beaucoup d'exemples de
d'implémentations de JList, mais aucune ne fait ça...
Si tu veux pouvoir permuter des événements : je ne pense pas que ce
comportement soit prédéfini, mais tu peux sans doute l'écrire en
interceptant les événements clavier/souris sur la liste et en
modifiant le modèle de la liste (là où tu stockes les éléments
affichés).
J'ai une question à ce sujet. J'ai une ArrayList que je peux
transformer en DefaultListModel. Mais quand l'utilisateur fait des
modifications dans le DefaultListModel par l'intermédiare de la
JList, comment est-ce que je peux répercuter ces modifications sur
mon ArrayList de départ. Car c'est elle que je vais sauvegarder.
Est-ce que je suis obligé de recopier tous les éléments du
DefaultListModel dans une nouvelle ArrayList? Ou existe-t-il une
méthode plus simple, moins lourde?
Si tu veux juste un ascenseur autour de ta liste, la solution avec
JScrollPane est la voie à suivre à mon avis.
Non. En fait, je veux pouvoir intervertir les éléments. Les faire
monter ou descendre. Et que ce soit synchro avec la List de départ
qui est une ArrayList et que je sauvegarderai.
J'ai un exemple chez moi qui marche, et je confirme que ça fonctionne
comme ça (pas d'interface à implémenter) :
panneauDefilant = new JScrollPane (listeAAfficher) ;
Si ça ne fonctionne pas, il faut que tu montres ton code et que tu
précises ton problème : est-ce que rien ne s'affiche, il n'y a pas les
ascenseurs, ... ?
De mémoire, un problème existe quand le composant que tu places dans la
vue défilante se cale sur l'espace qui lui est donné : au lieu de prendre
toute la place qu'il veut et que la vue défile, il s'arrange pour ne
jamais dépasser de la vue afficher et donc les ascenseurs n'apparaissent
pas.
Je vois que JList contient des méthodes comme setDragAnebled,
setDropMode, ... : sans doute à creuser pour déplacer des éléments en
les faisant glisser.
J'ai un exemple chez moi qui marche, et je confirme que ça fonctionne
comme ça (pas d'interface à implémenter) :
panneauDefilant = new JScrollPane (listeAAfficher) ;
Si ça ne fonctionne pas, il faut que tu montres ton code et que tu
précises ton problème : est-ce que rien ne s'affiche, il n'y a pas les
ascenseurs, ... ?
De mémoire, un problème existe quand le composant que tu places dans la
vue défilante se cale sur l'espace qui lui est donné : au lieu de prendre
toute la place qu'il veut et que la vue défile, il s'arrange pour ne
jamais dépasser de la vue afficher et donc les ascenseurs n'apparaissent
pas.
Je vois que JList contient des méthodes comme setDragAnebled,
setDropMode, ... : sans doute à creuser pour déplacer des éléments en
les faisant glisser.
J'ai un exemple chez moi qui marche, et je confirme que ça fonctionne
comme ça (pas d'interface à implémenter) :
panneauDefilant = new JScrollPane (listeAAfficher) ;
Si ça ne fonctionne pas, il faut que tu montres ton code et que tu
précises ton problème : est-ce que rien ne s'affiche, il n'y a pas les
ascenseurs, ... ?
De mémoire, un problème existe quand le composant que tu places dans la
vue défilante se cale sur l'espace qui lui est donné : au lieu de prendre
toute la place qu'il veut et que la vue défile, il s'arrange pour ne
jamais dépasser de la vue afficher et donc les ascenseurs n'apparaissent
pas.
Je vois que JList contient des méthodes comme setDragAnebled,
setDropMode, ... : sans doute à creuser pour déplacer des éléments en
les faisant glisser.
Yliur wrote:J'ai un exemple chez moi qui marche, et je confirme que ça
fonctionne comme ça (pas d'interface à implémenter) :
panneauDefilant = new JScrollPane (listeAAfficher) ;
Ok. Mais moi je fais: JScrollPane jsp = new JScrollPane (JPanel). Et
là ça ne marche plus car apparemment le JPanel n'est pas scrollable.
Ou alors, il s'agit peut-être d'un problème de Layout. J'ai mis un
FlowLayout dans le JPanel que je veux rendre scrollable et je rajoute
des petits JPanel dedans.
Yliur wrote:
> J'ai un exemple chez moi qui marche, et je confirme que ça
> fonctionne comme ça (pas d'interface à implémenter) :
>
> panneauDefilant = new JScrollPane (listeAAfficher) ;
>
Ok. Mais moi je fais: JScrollPane jsp = new JScrollPane (JPanel). Et
là ça ne marche plus car apparemment le JPanel n'est pas scrollable.
Ou alors, il s'agit peut-être d'un problème de Layout. J'ai mis un
FlowLayout dans le JPanel que je veux rendre scrollable et je rajoute
des petits JPanel dedans.
Yliur wrote:J'ai un exemple chez moi qui marche, et je confirme que ça
fonctionne comme ça (pas d'interface à implémenter) :
panneauDefilant = new JScrollPane (listeAAfficher) ;
Ok. Mais moi je fais: JScrollPane jsp = new JScrollPane (JPanel). Et
là ça ne marche plus car apparemment le JPanel n'est pas scrollable.
Ou alors, il s'agit peut-être d'un problème de Layout. J'ai mis un
FlowLayout dans le JPanel que je veux rendre scrollable et je rajoute
des petits JPanel dedans.