Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.java > #1575

Re: Problème avec JTextPane et méthode paste()

From Yliur <yliur@free.fr>
Newsgroups fr.comp.lang.java
Subject Re: Problème avec JTextPane et méthode paste()
Date 2017-10-08 12:54 +0200
Organization Groupes francophones par TrigoFACILE
Message-ID <20171008125420.3fbbaf27@free.fr> (permalink)
References <59d94359$0$7165$426a34cc@news.free.fr>

Show all headers | View raw


Le 07 Oct 2017 21:12:57 GMT
jp <bloiiing@yahoo.com> a écrit :

> Tout d'abord, je tiens à dire que je suis impressioné par l'activité
> des groupes sur usenet. Ça fait longtemps que je m'en étais éloigné
> et c'est un peu désertique au niveau de la fréquentation.
> 
> Je vais quand-même poser ma question en espérant que quelqu'un la
> lira...

J'ai bien lu ta question, mais les mystères de Swing ce n'est pas
vraiment ma spécialité...


Sur l'imbrication des composants :

> Tout va bien sauf que dans ce cas, la scrollbar verticale n'apparait 
> jamais. Je précise qu'avant j'avais fait:
> 
> jtextPane = new JTextPane();
> scroll_pane = new JScrollPane(jtextPane);
> tabbedPane.addTab("JTextPane", null, jtextPane, null);
> 
> Donc j'essaye autre chose selon la documentation officielle de Java:
> 
> jtextPane = new JTextPane();
> scroll_pane = new JScrollPane(jtextPane);
> tabbedPane.addTab("JTextPane", null, scroll_pane, null);

Ça me paraît normal, d'après la doc de JScrollPane son constructeur
prend un composant qui sera contenu dedans ("Creates a JScrollPane that
displays the contents of the specified component [...]").

Donc la deuxième imbrication semble plus logique.


Pour ce qui est du collage, je ne l'ai jamais fait mais si je comprends
bien tu reçois un événement et en réaction à l'événement tu appelles
manuellement quelque chose comme
    tabbedPane.getSelectedComponent().paste(), c'est ça ?

Sans doute avec un transtypage.

D'après la doc, getSelectedComponent est une méthode de JTabbedPane,
donc ça te permet simplement de descendre d'un niveau, c'est normal :
il y a plusieurs composants fils à ce composant et tu veux savoir
lequel est affiché. Ensuite puisque tu connais l'imbrication de tes
composants tu pourrais continuer, non ?

Par exemple, si j'ai bien compris ton imbrication :
    JScrollPane scroll_pane = (JScrollPane) tabbedPane.getSelectedComponent() ;
    JTextPane   jtextPane   = (JTextPane)   scroll_pane.getComponent (0) ;
    jtextPane.paste() ;


Ou bien je n'ai pas compris ton problème ?

Est-ce que tes constructions sont souvent plus complexes et tu
cherches le composant ayant le focus par exemple ? La méthode
getSelectedComponent() ne renvoie que l'onglet affiché, c'est
un cas particulier des panneaux à onglets.

Pour le focus j'ai trouvé ça, après une recherche rapide : c'est
vieux, il y a peut-être mieux maintenant...
    http://baptiste-wicht.developpez.com/tutoriels/java/swing/focus/#LV

Là je pense qu'il faut préciser un peu ce que tu veux faire,
pour cibler la réponse. Par exemple comment veux-tu choisir le
composant cible du collage ?

Back to fr.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Problème avec JTextPane et méthode paste() jp <bloiiing@yahoo.com> - 2017-10-07 21:12 +0000
  Re: Problème avec JTextPane et méthode paste() Yliur <yliur@free.fr> - 2017-10-08 12:54 +0200
    Re: Problème avec JTextPane et méthode paste() jp <bloiiing@yahoo.com> - 2017-10-08 12:22 +0000
    Re: Problème avec JTextPane et méthode paste() jp <bloiiing@yahoo.com> - 2017-10-10 14:22 +0000

csiph-web