cs_anzize
Messages postés41Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 9 juin 2005
-
5 févr. 2005 à 17:33
cs_anzize
Messages postés41Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 9 juin 2005
-
16 févr. 2005 à 18:15
Bonjour tout le monde !
Je voudrais utiliser deux boutons (flèches gauche et droite) qui me serviraient de boutons de défilement pour un Panel (comme un scrollpane), style le Chat de voila.fr où 2 boutons de défilement apparaissent s'il n'y a plus de places pour ts les composants.
Quelqu'un pourrait-il m'aiguiller ? Etant donné que c'est assez urgent, ça serait cool si vous pouviez m'aider urgemment !
Az"
cs_anzize
Messages postés41Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 9 juin 2005 6 févr. 2005 à 00:45
Un scrollpane traditionnel ? C'est ce que j'ai déjà mais ce n'est pas du tout beau.
En fait, je voudrais que deux boutons que j'aurais moi-même crées (boutons perso que j'ai crée à partir de canvas) servent à faire défiler des composants qui sont sur un panel donné, comme le Chat de voila.fr ou plein d'autres clients Chat.
Merci
cs_anzize
Messages postés41Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 9 juin 2005 6 févr. 2005 à 14:10
Bonjour ! Re-moi
//le Panel qui va contenir les labels où viendront s'aouter dynamiquement les composants
Panel monPanelALabels=new Panel();
monPanelALabels.setLayout(null);
Label premLabel=new Label("label 1");
Label deuxLabel=new Label("label 2");
Label troisLabel=new Label("label 3");
Label derLabel=new Label("Dernier label, il n'y a plus de place");
//le Panel qui va contenir les boutons de direction (défilement)
Panel monPanelABoutons=new Panel(new BorderLayout());
Button droite=new Button("deplacement à droite");
Button gauche=new Button("deplacement à gauche");
Maintenant, comment je fais concrètement pour que mes boutons gauche et droite fassent défiler le Panel "monPanelALabels" avec setlocation ou setbound ? Merci énormement !
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_anzize
Messages postés41Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 9 juin 2005 7 févr. 2005 à 20:35
re-lut !
Si j'ai bien compris, après avoir défini la taille des boutons et les avoir positionnés (setLocation), il faut que je les ajoute à mon Panel dont le setLayout = null. Auquel cas, rien ne s'affiche.
Je suis complètement perdu et je vais tout grrrrr. Mdr !
Je chercher et je cherche. Merci pour votre aide, les gars
cs_anzize
Messages postés41Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 9 juin 2005 12 févr. 2005 à 13:15
Hi Kaloway !
Je suis venu ici, rien que pour te remercier franchement pour ton aide !
Malgré la réponse que tu m'avais donnée, j'ai essayé de passer par un scroll personnalisé, en faisant des trucs de "Ouff" et je me suis pris la tête pdt 3 jours. Je me disais que le seul pb avec ta solution c'est qu'on ne pouvait pas ajouter dynamiquement des boutons (c'est qui est problématique pour un chat qui ajoute dynamiquement des boutons par rapport à un dial ouvert). En effet, les boutons où il y a les listener (gauche et droite) ne pouvaient pas intéragir avec les boutons nouvellement crées.
Aussi, pour aider ceux qui pourraient avoir besoin de résoudre un pb semblable au mien, voilà un complément à ta solution (en Awt pour ceux qui ont des pb de compatibilité).
Ca fait donc un joli ScrollButton (boutons qui font office de "scrollba").
Thanks Kalloway
.....
.
.
.
public class Test
{
private static int hauteur=50;
private static int largeur=25;
private int n;
private static int m;
droite.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev) {
m--;
int z=m;
Button c;
synchronized(vectorButton)
{ for (int i = 0; i < vectorButton.size(); i++)
//on récupère par conséquent les objets de type Button qui sont dans le vecteur
c = (Button) vectorButton.get(i);
c.setLocation(z*hauteur,0);//on les repositionne ici grâce à setLocation
z++;
}
}
});
gauche.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev) {
m++;
int z=m;
Button c;
synchronized(vectorButton)
{ for (int i = 0; i < vectorButton.size(); i++)
{
c = (Button) vectorButton.get(i);/
c.setLocation(z*hauteur,0);
z++;
}
cs_anzize
Messages postés41Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 9 juin 2005 16 févr. 2005 à 18:15
Monologuqe n° X (lol). Promis, c'est mon dernier message (mais c'est parce que j'ai trop galérer pour pas grand chose.
A tous ceux qui veulent donc créer un customized ScrollPane (ScrollPane personnalisé), voici un truc tout simple.
/*Squellette du code sans constructeur ni quoi que ce soit. Il faut juste comprendre l'idée */
int valeurX,valeurY;
valeurX=0;valeurY=20;//C'est un pure exemple
panel panl1 =new Panel();
panel pan2=new Panel();
ScrollPane sc=new ScrollPane(2); //création d'un scrollPanel
//sans affichage des barres de défilement
sc.add(panel1);
/*ajouter même listenner pour b2, sauf que valeurX et valeurY vont à l'opposé*/
Les boutons b1 et b2 vont ainsi faire défiler panel1. Evidemmet, si vous savez créer des beaux boutons ronds ou RoundRect ou triangulaire (ou blabalabal), vous aurez de très beaux ScrollPanes personnalisés.
For more questions, www.parisboulot.com