Intégrer une image créée à un panel

cs_Elisa23 Messages postés 32 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 1 février 2010 - 21 nov. 2003 à 10:39
cs_Elisa23 Messages postés 32 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 1 février 2010 - 22 nov. 2003 à 21:49
Bonjour à tous !

Je voudrais avoir sur la même page un texte qui défile et un bouton...
J'y arrive presque, mais le texte et le bouton se superposent au lieu d'être l'un en dessous de l'autre !
Je voudrais créer deux panels : un pour mettre le texte qui défile (et qui est créé dans une image) et l'autre pour mettre le bouton.

Je bloque sur ce pb depuis plusieurs jours ! Pouvez-vous m'aider ?

Merci d'avance !
Zaza

Ci-dessous, le code pour vous montrer l'exemple :

import java.awt.*;
import java.applet.*;

public class Scroll extends Applet implements Runnable
{
int decalage = -240;
int sens = 1;
String Bienvenue = "Bienvenue !";
Thread t;
int Indic = 1, x1;
Graphics Gmem;
Image i;
Panel p2 = new Panel();
Button Bouton = new Button("Bouton");

public void init()
{
i= createImage(400,30);
Gmem= i.getGraphics();
p2.add(Bouton);
add(p2);
}

public void start()
{
if(t==null)
{
t = new Thread(this);
t.start();
}
}

public void stop()
{
if(t!=null)
{
Indic =0;
t=null;
}
}

public void run()
{
while(Indic==1)
{
direction();
}
}

public void direction()
{
if (sens == 0)
{
for(x1=decalage;x1<400;x1++)
{
attente();
}
}
else if (sens == 1)
{
for(x1=400;x1>decalage;x1--)
{
attente();
}
}
}

public void attente()
{
repaint();
try
{
Thread.sleep(15);
}
catch(InterruptedException ie)
{
}
}

public void update(Graphics g)
{
paint(g);
}

public void paint(Graphics g)
{
Gmem.setColor(new Color(0, 0, 0));
Gmem.fillRect(0,0,400,400);
Gmem.setColor(new Color(200,200,250));
Gmem.setFont(new Font("Helvetica",Font.BOLD,20));
Gmem.drawString(Bienvenue,x1,20);
g.drawImage(i,0,0,this);
}
}

3 réponses

benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
21 nov. 2003 à 14:11
bonjour,

essayes de dessiner sur un panel different de celui ou tu ajoutes ton bouton et de les positionner tous les deux dans ta frame ensuite

benohite
:big)
0
benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
21 nov. 2003 à 14:16
ca donne ceci, mais bon c pas vraiment optimisé:
import java.awt.*;
import java.applet.*;

public class Scroll extends Applet implements Runnable
{
int decalage = -240;
int sens = 1;
String Bienvenue = "Bienvenue !";
Thread t;
int Indic = 1, x1;
Graphics Gmem;
Image i;
Panel p2 = new Panel();
Panel affiche = new Panel();
Button Bouton = new Button("Bouton");

public void init()
{
i= createImage(400,30);
Gmem= i.getGraphics();
this.setLayout(new BorderLayout());
p2.add(Bouton);
add("South",p2);
add("North",affiche);
}

public void start()
{
if(t==null)
{
t = new Thread(this);
t.start();
}
}

public void stop()
{
if(t!=null)
{
Indic =0;
t=null;
}
}

public void run()
{
while(Indic==1)
{
direction();
}
}

public void direction()
{
if (sens == 0)
{
for(x1=decalage;x1<400;x1++)
{
attente();
}
}
else if (sens == 1)
{
for(x1=400;x1>decalage;x1--)
{
attente();
}
}
}

public void attente()
{
repaint();
try
{
Thread.sleep(15);
}
catch(InterruptedException ie)
{
}
}

public void update(Graphics g)
{
paint(g);
}

public void paint(Graphics g)
{
Gmem.setColor(new Color(0, 0, 0));
Gmem.fillRect(0,0,400,400);
Gmem.setColor(new Color(200,200,250));
Gmem.setFont(new Font("Helvetica",Font.BOLD,20));
Gmem.drawString(Bienvenue,x1,20);
g.drawImage(i,0,0,affiche);
}
}

benohite
:big)
0
cs_Elisa23 Messages postés 32 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 1 février 2010
22 nov. 2003 à 21:49
Merci beaucoup benohite ! Tu m'as bien aidée : j'arrive enfin à faire ce que je voulais !

@+
Bonne soirée

Zaza
0
Rejoignez-nous