Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/03/2008, à 18:32

Grumphette

Java

Bonjour (encore toi me direz vous tongue),

Cette fois j ai un bug avec eclipse, et il me paret monstrueux. Je fais une fenetre avec un bouton qui renvois le label quand on clique dessus. Mais la ou est le hic c'est qu il n y a aucune interaction avec le bouton. en gros il ne marche pas. Le code ci dessous est peut etre un peu lourd mais en gros si jene fais que bonjour avec un system.out.println("Hello world"); dans le gestionnaire du bouton ça ne fonctionne pas.

Aider moi je m arache les cheveux avec tous ces bugs



voila le code:

package e101.skeleton ;

import javax.swing.JFrame ;
import javax.swing.JButton ;

import java.awt.event.ActionListener ;
import java.awt.event.ActionEvent ;
import java.awt.Container ;

/**
* @author Nicolas Roussel (roussel@lri.fr)
*
*/
public class HandmadeDialog extends JFrame implements ActionListener {

    private JButton btn1 ;

    public HandmadeDialog() {
       btn1 = new JButton() ;
        btn1.addActionListener(this) ;
       Container pane = getContentPane() ;
        pane.add(btn1);
    }

    public HandmadeDialog(String title, String message, String b1lbl, String b2lbl) {
       this() ;
       configure(title,message,b1lbl,b2lbl) ;
    }

    public void configure(String title, String message, String b1lbl, String b2lbl) {
       btn1.setText(b1lbl) ;
        pack() ;
        setVisible(true) ;
    }

    public void actionPerformed(ActionEvent e) {
       JButton button = (JButton)e.getSource() ;
       if (button==btn1) {
          System.out.println(button.getText()) ;
       }
    }

    public static void showBox() {
       HandmadeDialog box = new HandmadeDialog("HandmadeDialog",
                                       "Vous avez fini le premier exercice...",
                                       "Stop", "Encore") ;
    }

    static public void main(String args[]) {
       if (args.length==0 || !args[0].equals("-interactive")) {
          showBox() ;
       } else {
          JFrame frame = new JFrame("tester") ;
          JButton button = new JButton("showBox") ;
          button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent evt) { showBox() ; }
             }) ;
          frame.add(button) ;
          frame.pack() ;
          frame.setVisible(true) ;
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       }
    }

}

Hors ligne

#2 Le 19/03/2008, à 18:35

®om

Re : Java

Tu ajoutes un bouton dans le contentpane de la jframe dans le constructeur, et tu en rajoutes encore un directement dans la Jframe (même pas dans son contentpane) dans le main...

Qu'as-tu voulu faire exactement, car là je ne comprends pas bien...?

Hors ligne

#3 Le 20/03/2008, à 10:18

Grumphette

Re : Java

en gros tu a une fenetre avec un bouton et il affiche dans le shell le label du bouton quand tu clique dessus.

Mais il n y a aucune interaction avec le bouton. En gros ça marche aussi bien que si je n avais mis juste le bouton et aucun actionlistner et actionperform

Hors ligne

#4 Le 20/03/2008, à 13:48

obiwankennedy

Re : Java

Perso, ton code chez moi marche.
si je l'exécute, une fenêtre s'ouvre avec un bouton stop je clique et "stop" s'écrit dans la console. Si je passe "-interactive" en argument une première fenêtre s'ouvre avec écrit "Showdialog" un truc comme ça. Je clique dessus et la fenêtre avec le stop s'affiche.


Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam

Hors ligne

#5 Le 23/03/2008, à 16:05

Grumphette

Re : Java

Hmmm, je pense que c'est mon sdk sous linux qui bug. Car j ai essayé sous windows et ça marche au poil. Donc bon c'est resolut en un sens ^^ j irai prog sur windows:D big_smile

Hors ligne

#6 Le 23/03/2008, à 21:09

Link31

Re : Java

Java : write once, debug everywhere tongue

Hors ligne