Interface graphique java(awt)

chris5874 Messages postés 50 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 26 janvier 2007 - 5 sept. 2004 à 16:55
yassinezine2007 Messages postés 2 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 3 mars 2008 - 31 oct. 2007 à 12:08
Bonjour à tous,
je souhaiterai faire un programme realisant la conversion de nombres entiers en nombres hexadécimal.
ceci est je pense une étape pour moi dans le fait de la creation du graphisme qui va autour, la partie conversion etant deja réalisée depuis longtemps.(il reste juste l'interface graphique)
coté interface,je m'y suis mis ce week end mais apparemment je n'ai pas encore tout compris.
il me reste a lier l'action du bouton, avec l'action proprement dite.
je vous mets ci dessous le code source

import java.util.*;
import java.awt.*;
import java.lang.*;



public class IntToHex {


public String conversion(int entier){

hexa=Integer.toHexString(entier);
return hexa;
}
public static int i=0;
private static int entier;
private static String hexa;

public static void main(String[]args) {
java.awt.Frame fenetre = new java.awt.Frame("conversion nombres entier - > hexa");
java.awt.GridLayout g= new java.awt.GridLayout(2,3);
java.awt.BorderLayout bl = new java.awt.BorderLayout();
fenetre.setLayout(bl);
java.awt.Panel panneau = new java.awt.Panel();
fenetre.add("North", panneau);
panneau.setLayout(g);
EcouteurInt ecouteur = new EcouteurInt();
java.awt.Button b;
java.awt.TextField t1;
java.awt.TextField t2;
panneau.add(new java.awt.Label("entier"));
panneau.add(new java.awt.Label(""));
panneau.add(new java.awt.Label(" hexa"));
panneau.add(t1=new java.awt.TextField(5));
panneau.add(new java.awt.Label(" - >"));
panneau.add(t2=new java.awt.TextField(5));
fenetre.add("Center",b = new java.awt.Button("convertir"));
b.addActionListener(ecouteur);
fenetre.pack();
fenetre.setVisible(true);




}
}

public class EcouteurInt implements java.awt.event.ActionListener{

/** Creates a new instance of EcouteurInt */


public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("bouton cliqué");


}

}

comme vous le voyez,j'ai surement encore un peu de mal avec les graphisme(c'est normal,je débute en graphique)
merci d'avance pour votre aide

11 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
5 sept. 2004 à 17:19
Salut,

c'est quoi ton problème exactement ?
Pourquoi utilises tu AWT ? Ce serais mieux d'utiliser SWING.
Sinon il ne manque que le lien entre ton prog de conversion et le textfield

String hexa=Conversion.toHexa(t1.getText());//appel de ton code 
t2.setText(hexa);
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
5 sept. 2004 à 17:19
oups, j'ai oublier de préciser que ce code est dans la méthode actionPerformed()
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
5 sept. 2004 à 17:31
Juste une chose : le import java.lang.* est inutile car automatique.

gmi19oj19
0
chris5874 Messages postés 50 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 26 janvier 2007
5 sept. 2004 à 17:39
j'utilise awt car je ne connais pas encore Swing...
en fait il me fallait juste faire la liaison entre le actionPerformed et l'action de convertir un entier en hexadecimal

merci pour le code :)
seulement maintenant il ne me reconnait pas t1 et t2 :'(
(pourriez vous m'aider svp ... merci d'avance )
j'ai aussi enlevé l'import de java.lang.* (merci pour cette remarque :) )

merci pour votre aide:)
0

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

Posez votre question
chris5874 Messages postés 50 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 26 janvier 2007
5 sept. 2004 à 17:41
j'oubliais de dire que les 2 classes EcouteurInt et IntToHex sont dans des fichiers java différents... est-ce que cela pourrai provenir de la..?
(dans le meme dossier)
merci d'avance pour votre aide
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
5 sept. 2004 à 17:43
le mieux à faire avec les listeners c''est ce qu'on appelle des classes anonymes

au lieu de
b.addActionListener(ecouteur);


faire
b.addActionListener(new java.awt.event.ActionListener{

/** Creates a new instance of EcouteurInt */

public void actionPerformed(java.awt.event.ActionEvent e) {
String hexa=Conversion.toHexa(t1.getText());//appel de ton code
t2.setText(hexa);
}

});
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
5 sept. 2004 à 17:44
Pour faire court, Swing, c'ewt awt avec un J devant :big)
Le composant swing JTruc hérite du composant awt Truc.
Il se comporte donc de la meme manière, propose plus de possibilité et ne s'appuie pas sur des ressource systeme commme awt.

Pour t1 et t2, instancie les avant de les ajouter à ton Panel, et ce sera bon.

PS : du fait de l'import d'awt, écris Panel au lieu de java.awt.Panel

gmi19oj19
0
chris5874 Messages postés 50 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 26 janvier 2007
5 sept. 2004 à 20:37
swing semble pas mal alors :)
mais bon,en attendant de voir swing,j'aimerai qd mm pouvoir au moins faire une fenetre avec awt, histoire de voir comment on peut faire...

je viens de tomber sur un probleme....
IntToHex.java [37:1] java.awt.event.ActionListener is abstract; cannot be instantiated

la, je ne sais plus trop cpomment faire.....dsl
merci pour votre aide
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
5 sept. 2004 à 21:05
Tu n'as pas de constructeur dans ta classe EcouteurInt.
Je te conseille donc de recourir à une classe anonyme.
Exemple : cf post de kirua12 plus haut.

gmi19oj19
0
chris5874 Messages postés 50 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 26 janvier 2007
5 sept. 2004 à 21:18
en fait, j'ai un peu de mal à savoir vraiment la signification des termes
ce week end j'ai fait une rapide révision de ce que j'avais deja appris en java.... apparemement un peu trop rapide...
en fait j'ai reellement beaucoup de mal avec les termes, j'ai du mal à mettre une signification dessus....
quelque part, je pense que ça ne serai pas une mauvaise idee de mettre une signification reelle derriere avec un bout de code car, comme dit,du mal à se representer un peu tout ça ....
je pense que la creation d'une fenetre graphique ne sera pas pour ce mois ci à ce rythme la... v d'abord continuer ou plutot recommencer à comprendre les significations de bases,chercher d'autres tutos.....
car je vois bien que je ne suis pas trop à niveau.....
merci à tous ceux qui m'ont aidé :)
0
yassinezine2007 Messages postés 2 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 3 mars 2008
31 oct. 2007 à 12:08
oui ces vrai   
0
Rejoignez-nous