Probleme avec un JButton JAVA
Fermé
Ettrick
-
3 févr. 2010 à 03:03
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 3 févr. 2010 à 05:11
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 3 févr. 2010 à 05:11
A voir également:
- Probleme avec un JButton JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
4 réponses
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
3 févr. 2010 à 05:11
3 févr. 2010 à 05:11
Tiens voilà un code qui marche un peu mieux ^^ :
J'ai mis 2/3 modifs par-ci par-là parce que ça provoquait des erreurs au lancement, type tableau[49] hors le dernier élément d'un tableau de 49 éléments est tableau[48] puisque la notation va de 0 à 48.
import java.awt.*; import java.awt.event.*; import java.util.List; import java.awt.Image; import java.awt.Toolkit; import javax.swing.*; public class pipo extends JFrame implements ActionListener { private JButton jbtn649[] = null; private JCheckBox jcbCroisant = new JCheckBox ("Ordre Croisant", false); private JCheckBox jcbSélectioner = new JCheckBox ("Order Sélectioner", false); private JButton jbtnErase = new JButton("Effacé"); private JTextArea jta = new JTextArea(); //===================================================================================== public pipo(int n) //===================================================================================== { super ("Séléction , Eric Dumouchel"); if ( n < 1) n = 49; initialiserGUI(n); enregistrerListners(); } //===================================================================================== private void initialiserGUI(int n) //===================================================================================== { //Creation des composant supplementaires JPanel jpnlContour = (JPanel) this.getContentPane(); JPanel jpnlCenter = new JPanel(); jbtn649 = new JButton[n]; for( int i = 0; i<jbtn649.length ; i++) { jbtn649[i] = new JButton(String.valueOf(i+1)); } //Choix de la disposition jpnlCenter.setLayout(new GridLayout(7,7)); //Ajout des composant this.add(jpnlCenter , "Center"); for( int i=0; i <n ; i++) { jpnlCenter.add( jbtn649[i]); } this.add (jta,"South"); this.add(jbtnErase,"North"); this.add(jcbCroisant,"East"); this.add(jcbSélectioner,"West"); //Initialisation supplementaires jpnlContour.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); jta.setBorder(BorderFactory.createTitledBorder("")); jta.setEditable( false ); this.pack(); this.setDefaultCloseOperation(EXIT_ON_CLOSE); // ===================================================================================== //j'ai adder un icon dans le cote gauche! Image im = Toolkit.getDefaultToolkit().getImage("heart2.png"); this.setIconImage(im); // ===================================================================================== this.setLocationRelativeTo(null); this.setVisible(true); } //===================================================================================== private void enregistrerListners() //===================================================================================== { jbtnErase.addActionListener(this); for(int i=0;i<jbtn649.length;i++)jbtn649[i].addActionListener(this); } // ===================================================================================== public void actionPerformed( ActionEvent ae ) // ===================================================================================== { Object src = ae.getSource(); if( src == jbtnErase ) { jta.setText(""); } for( int i = 0; i<jbtn649.length ; i++) { if( src == jbtn649[i] )jta.setText(String.valueOf(jbtn649[i].getText()+1)); } } //===================================================================================== public static void main(String[] args) //===================================================================================== { JFrame.setDefaultLookAndFeelDecorated(true); new pipo(49); } }
J'ai mis 2/3 modifs par-ci par-là parce que ça provoquait des erreurs au lancement, type tableau[49] hors le dernier élément d'un tableau de 49 éléments est tableau[48] puisque la notation va de 0 à 48.
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
3 févr. 2010 à 03:48
3 févr. 2010 à 03:48
Hello,
Normalement dans ton cas pour rendre ton JButton cliquable avec action, il te faut mettre le code suivant :
bouton.addActionListener(this);
Normalement dans ton cas pour rendre ton JButton cliquable avec action, il te faut mettre le code suivant :
bouton.addActionListener(this);
salut, ouais j'ai se code deja
se que j'ai de besoin s'est quand je run mon application quand je clique sur le boutton 3 sa ecrit 3 dans le JTextArea,
Merci
Eric
private void enregistrerListners()
//=====================================================================================
{
jbtnErase.addActionListener(this);
jbtn649[49].addActionListener(this);
}
se que j'ai de besoin s'est quand je run mon application quand je clique sur le boutton 3 sa ecrit 3 dans le JTextArea,
Merci
Eric
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
3 févr. 2010 à 04:01
3 févr. 2010 à 04:01
M'est d'avis que ton souci vient du actionPerformed et du actionPerformed1, pourquoi en avoir mis 2?
Tu peux très bien gérer tous tes Event dans un seul. Donc :
Tu peux très bien gérer tous tes Event dans un seul. Donc :
private void enregistrerListners() { jbtnErase.addActionListener(this); jbtn649[49].addActionListener(this); } public void actionPerformed( ActionEvent ae ) { Object src = ae.getSource(); if( src == jbtnErase ) { jta.setText(""); } if( src == jbtn649[49] ) { for( int i = 0; i<jbtn649.length ; i++) { jta.setText("String.valueOf(jbtn649[i]+1)"); } } }
ahhh merci beaucoup. je pensait pas que je pouvais faire sa,
en se moment, j'ai ceci
https://imageshack.com/
j'aimerai que quand je clique sur dison le boutton "24", que plus bas dans le JTextArea sa l'ecrit le chiffre 24, j'ai beaucoup de miser avec sa :(
Merci,
Eric
en se moment, j'ai ceci
https://imageshack.com/
j'aimerai que quand je clique sur dison le boutton "24", que plus bas dans le JTextArea sa l'ecrit le chiffre 24, j'ai beaucoup de miser avec sa :(
Merci,
Eric
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
3 févr. 2010 à 04:26
3 févr. 2010 à 04:26
Hello,
Ton code est aussi restrictif : if( src == jbtn649[49] )
Donc ça ne marchera que si tu appuies sur 49.
Un code un peu moche ^^ , qu'il faut mettre à la place du "if( src == jbtn649[49] ) ...."
for( int i = 1; i<jbtn649.length+1 ; i++)
{
if( src == jbtn649[i] ) jta.setText(jbtn649[i].getText());
}
Ton code est aussi restrictif : if( src == jbtn649[49] )
Donc ça ne marchera que si tu appuies sur 49.
Un code un peu moche ^^ , qu'il faut mettre à la place du "if( src == jbtn649[49] ) ...."
for( int i = 1; i<jbtn649.length+1 ; i++)
{
if( src == jbtn649[i] ) jta.setText(jbtn649[i].getText());
}