Date sent: Wed, 03 Oct 2001 12:16:28 +0200
From: Frederic Gilloteau <Frederic.Gilloteau@cindy.cma.fr>
To: java@u-strasbg.fr
Subject: Affichage de "pseudos" boutons
Send reply to: java@u-strasbg.fr
Bonjour à tous,
J'ai le problème suivant :
J'ai un Panel dans lequel se trouve un Label qui contient lui meme une
image (carte geographique). Panel => Label => Icon (carte geog.) Je
souhaiterais pouvoir ajouter des petits labels représentant des boutons
avec actions de souris inclues sur cette carte geographique. Dans quel
composant dois-je les ajouter pour qu'ils soient visibles à l'écran ?
Existe-il une méthode permettant de rendre transparente ma carte
géographique par exemple ?
Merci d'avance.
From: "Herve AGNOUX" <herve.agnoux@diaam-informatique.com>
To: java@u-strasbg.fr
Date sent: Wed, 3 Oct 2001 12:31:57 +0200
Subject: Re: Affichage de "pseudos" boutons
Send reply to: herve.agnoux@diaam-informatique.com
Priority: normal
Le 3 Oct 01, Frederic Gilloteau a écrit :
>
> J'ai un Panel dans lequel se trouve un Label qui contient lui meme une
> image (carte geographique). Panel => Label => Icon (carte geog.) Je
> souhaiterais pouvoir ajouter des petits labels représentant des boutons
> avec actions de souris inclues sur cette carte geographique. Dans quel
> composant dois-je les ajouter pour qu'ils soient visibles à l'écran ?
>
A mon avis, si tu as beaucoup de boutons, le mieux est d'utiliser la
technique des renderers. Elle t'oblige à faire beaucoup de choses toi
même, mais c'est la seule viable si tu veux pas être trop bourin.
Le principe est que tu as un seul bouton que tu affiches en
plusieurs endroits de ton panneau.
Donc, dans ton panneau tu as une liste de tes boutons avec leur
positionnement (positionnement selon le layout). Tu as un bouton,
qui peut être n'importe quel objet graphique (un JButton, par
exemple).
Lors d'un paintComponent, tu dessines d'abord le reste (appel à
super.paintComponent), puis, pour chacun de tes boutons, tu
appelles le paint de ton unique bouton, en prenant soin de modifier
ses coordonnées au préalable (et même son label, ce qui sera
probablement ton cas), et en faisant gaffe au clip. Donc le même
bouton est dessiné en plusieurs endroits. Bien sûr, comme c'est
toi qui fait tout, tu gère la transparence comme tu veux.
Pour capter les événements souris, cela se passe depuis le
panneau qui contient les boutons. A chacun tu testes s'il a eu lieu
sur un bouton, et si oui tu agis en conséquence.
Tout cela est assez lourd en ligne de code, mais dès que le
nombre de petits boutons augmente, c'est efficace.
--
Sur le Web, tout de suite.
Herve AGNOUX - diaam informatique
http://www.diaam-informatique.com
From: "Arnaud Hallais" <arnaud.hallais@atosorigin.com>
To: <java@u-strasbg.fr>
Subject: Re: Affichage de "pseudos" boutons
Date sent: Wed, 3 Oct 2001 17:53:24 +0200
Send reply to: java@u-strasbg.fr
Et pourquoi pas mettre une GlassPane(?) au dessus de la carte (panel
transparent) et y ajouter les boutons?
----- Original Message -----
From: "Frederic Gilloteau" <Frederic.Gilloteau@cindy.cma.fr>
To: <java@u-strasbg.fr>
Sent: Wednesday, October 03, 2001 12:16 PM
Subject: Affichage de "pseudos" boutons
> Bonjour à tous,
>
> J'ai le problème suivant :
>
> J'ai un Panel dans lequel se trouve un Label qui contient lui meme une
> image (carte geographique). Panel => Label => Icon (carte geog.) Je
> souhaiterais pouvoir ajouter des petits labels représentant des boutons
> avec actions de souris inclues sur cette carte geographique. Dans quel
> composant dois-je les ajouter pour qu'ils soient visibles à l'écran ?
>
> Existe-il une méthode permettant de rendre transparente ma carte
> géographique par exemple ?
>
> Merci d'avance.
Date sent: Thu, 04 Oct 2001 11:28:57 +0200
From: Frederic Gilloteau <Frederic.Gilloteau@cindy.cma.fr>
To: java@u-strasbg.fr
Subject: Re: Affichage de "pseudos" boutons
Send reply to: java@u-strasbg.fr
Un grand merci, je n'avais pas connaissance de cette fonctionnalité
et ça répond exactement à mes attentes ...
Arnaud Hallais wrote:
>
> Et pourquoi pas mettre une GlassPane(?) au dessus de la carte (panel
> transparent) et y ajouter les boutons?
>
> > Bonjour à tous,
> >
> > J'ai le problème suivant :
> >
> > J'ai un Panel dans lequel se trouve un Label qui contient lui meme une
> > image (carte geographique). Panel => Label => Icon (carte geog.) Je
> > souhaiterais pouvoir ajouter des petits labels représentant des
> > boutons avec actions de souris inclues sur cette carte geographique.
> > Dans quel composant dois-je les ajouter pour qu'ils soient visibles à
> > l'écran ?
> >
> > Existe-il une méthode permettant de rendre transparente ma carte
> > géographique par exemple ?
> >
> > Merci d'avance.