Evenement de boutton en java

Fermé
saber07 Messages postés 116 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 20 novembre 2014 - 31 oct. 2010 à 11:33
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 31 oct. 2010 à 12:25
Bonjour,
j'ai un programme en java dessus que lorsque je clic sur le boutton, il m'affiche le courbe (panel graphique)mais la probleme que je ne trouve pas la methode de faire l'action et la synchronisation entre le boutton et la partie graphique.
aider moi svp
code de programme **************
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


class dessin extends JPanel
{
dessin(){}
public void paint(Graphics g)
{

g.setColor(Color.black);
g.drawLine(5,75,500,75);
g.drawLine(5,10,5,140);
g.drawLine(3,30,7,30);


int i=0;String ch="010110";
int x1=5;
int x2=0;
int y1=75;
int y2=75;

int p=0;
for (i=0;i<6;i++)
{

if (ch.charAt(i)=='0')
{
if(p==1)
{
p=0;
g.setColor(Color.darkGray);
g.drawLine(x1,y1,x1,y2+45);
}
//x1=x2;
y1=75;
y2=75;
x2=x2+50;
g.setColor(Color.RED);
g.drawLine(x1,y1,x2,y2);
x1=x2;
}


if (ch.charAt(i)=='1')
{
if(p==0)
{
p=1;
g.setColor(Color.darkGray);
g.drawLine(x1,y1,x1,y2-45);
}
//x1=x2;
p=1;
x2=x2+50;
y1=30;
y2=30;
g.setColor(Color.red);
g.drawLine(x1,y1,x2,y2);
System.out.println(x1+","+y1+"--->"+x2+","+y2);
x1=x2;
}
}



}
}
class codage extends JFrame implements ActionListener
{
class dessin extends JPanel
{
dessin(){}
public void paint(Graphics g)
{

g.setColor(Color.black);
g.drawLine(5,75,500,75);
g.drawLine(5,10,5,140);
g.drawLine(3,30,7,30);


int i=0;String ch="010110";
int x1=5;
int x2=0;
int y1=75;
int y2=75;

int p=0;
for (i=0;i<6;i++)
{

if (ch.charAt(i)=='0')
{
if(p==1)
{
p=0;
g.setColor(Color.darkGray);
g.drawLine(x1,y1,x1,y2+45);
}
//x1=x2;
y1=75;
y2=75;
x2=x2+50;
g.setColor(Color.RED);
g.drawLine(x1,y1,x2,y2);
x1=x2;
}


if (ch.charAt(i)=='1')
{
if(p==0)
{
p=1;
g.setColor(Color.darkGray);
g.drawLine(x1,y1,x1,y2-45);
}
//x1=x2;
p=1;
x2=x2+50;
y1=30;
y2=30;
g.setColor(Color.red);
g.drawLine(x1,y1,x2,y2);
System.out.println(x1+","+y1+"--->"+x2+","+y2);
x1=x2;
}
}



}
}
JButton b=new JButton();
JLabel l=new JLabel();
JTextField f=new JTextField();
JPanel p=new JPanel();
JPanel p2=new JPanel();
int x=0;
JFrame fr=new JFrame("Mon dessin");
Graphics g1;


codage()
{
b.setText("dessinez");
l.setText("codage de nombre binaire:");
f.setColumns(8);
p.add(l);
p.add(f);
p.add(b);
dessin d= new dessin();
/// p.add(d.paint(g1));
fr.setSize(300,100);
p2.add(d);
fr.getContentPane().setLayout(new GridLayout(2,1));
fr.getContentPane().add(p);
fr.getContentPane().add(p2);
fr.setSize(400,400);
fr.setVisible(true);
b.addActionListener(this);
}


public void actionPerformed (ActionEvent e)
{
if (e.getSource()==b)
{

String s=f.getText();
System.out.println(s);
if (s.length()>8)
JOptionPane.showMessageDialog(this,"vous etes dépassé le 8 bits ","dépassement de limite", JOptionPane.WARNING_MESSAGE);


//this.paint(g1);
//this.repaint();

}

}


public static void main(String[] args)
{

new codage();
}
}

//*************** fin de programme





A voir également:

5 réponses

saber07 Messages postés 116 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 20 novembre 2014 20
Modifié par saber07 le 31/10/2010 à 11:46
le probleme que je n'arrive pas a synchroniser le bouton avec mon partie graphique
lorque je clic sur le boutton le graphique s'affiche sinon rien affiché.
0
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
31 oct. 2010 à 11:53
Je n'ai pas vraiment regardé le code parce que je ne me suis jamais vraiment intéressé à java.awt, javax.swing... mais je pense que tu peux créer un Button, lui ajouter un ActionListener avec addActionListener où ta méthode dessin.main sera l'action à effectuer.

Regarde la documentation, elle est très riche, tu trouveras forcément.
0
saber07 Messages postés 116 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 20 novembre 2014 20
31 oct. 2010 à 12:11
oui c ça la probleme: c l'affectation de l'action au boutton .
et merci de votre réponse
0
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
31 oct. 2010 à 12:15
Voici un exemple
J'ai directement pris un exemple de JButton vu que c'est ce que tu utilises ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saber07 Messages postés 116 Date d'inscription mardi 16 décembre 2008 Statut Membre Dernière intervention 20 novembre 2014 20
31 oct. 2010 à 12:20
merci pour l'exemple mais l'affichage de courbe est différent a un affichage simple au msdos.
0
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
31 oct. 2010 à 12:25
Ce n'est qu'un exemple pour montrer comment mettre en place l'évènement.
Dans actionPerformed, si tu remplaces le
System.out.println("Button1 has been clicked");
par ta méthode (dessin.main ?) qui affiche ta courbe, ça devrait faire l'affaire...
0