Fenêtre d'exécution

fandezizou Messages postés 16 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 28 septembre 2006 - 16 févr. 2006 à 17:06
fandezizou Messages postés 16 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 28 septembre 2006 - 23 févr. 2006 à 16:43
Bonjour à tous!
J'aimerai bien votre aide
Je suis un débutant en Java. Voilà je me suis rendu compte qu'avec Java on peut pas faire de grand truc mais peut-être avec une fenêtre "Jframe" car voilà pour une bonne présentation je dois passé par là.
Maintenant mon problème c'est de faire executer mon programme sur la fenêtre.
Voici mon code et merci pour votre aide :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class motus extends JFrame
{
JLabel monText = new JLabel("Bonjour"); //initialisation d'un texte


public static void main(String args[]) throws java.io.IOException
{

int essai1=9;


JFrame fen= new JFrame();
fen.setSize (500, 500);
fen.setTitle ("Jeu : Motus");
fen.setVisible(true);
fen.setBackground (Color.yellow);



String mot, choix, joueur, animateur;
int I, longueur, essai, compt;
boolean trouve;
boolean test;
char tab[]= new char[50];
char table[]= new char[50];

compt=0;
trouve=false;
test=false;
System.out.println("---------------------------------\n");
System.out.println("| |\n");
System.out.println("| BIENVENUE DANS MOTUS |\n");
System.out.println("| |\n");
System.out.println("---------------------------------\n");
System.out.println("Animateur veiller saisir veillez saisir votre mot");
mot=JOptionPane.showInputDialog(fen, "donnez un mot");
longueur=mot.length();
// tricher pour effacer l'écran
for (int i=0;i<80;i++) { System.out.println(""); }


essai=longueur-2;
System.out.println("Veillez saisir votre prenom s'il vous plait\n");
joueur=Lit();

for(I=0;I<longueur;I++)
{
tab[I]='-';
table[I]=mot.charAt(I);
}

for (int i=0;i<80;i++) { System.out.println(""); }
System.out.println(joueur+" Veillez saisir le mot à trouver de "+longueur+" lettre");


choix=Lit();

//boucle while pour le jeu
while ((essai!=0) && (trouve==false) && (test==false))
{

// controle des lettres
for(I=0;I<longueur;I++)
{
if (table[I]==choix.charAt(I)) {
compt=compt+1; tab[I]=table[I];
}
}


essai=essai-1;
if (compt==longueur) {trouve=true;}
System.out.println("vous avez trouve "+compt+" lettre");

// afficher le tableau de caractère

for(I=0;I<longueur;I++)
{
System.out.print(tab[I]);
}
System.out.println();

compt=0;
System.out.println("Il vous reste "+essai+" essai");

if (essai!=0){

System.out.println(joueur+" Veillez saisir le mot à trouver de "+longueur+" lettre");


choix=Lit();
test=choix.equals("sol"); }

}
// fin de la boucle while

if (test==true) System.out.println("il fallait trouver le mot : "+mot);
if (trouve==true) System.out.println("Vous avez gagne"); else System.out.println("vous avez perdu");

}

//Procédure de saisie


public static String Lit() throws java.io.IOException
{
String s="";
char c;
while((c=(char)System.in.read())!='\r')
{
s=s+c;
}
c=(char)System.in.read();
return s;
}

}

9 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
17 févr. 2006 à 07:46
Salut,



C'est sûr que si tu te limite au mode console, ton programme ne sera pas bien "grand" (en reprenant tes termes).



Renseigne toi sur la création d'interfaces graphiques en utilisant
swing par exemple, et tu verra, java permet de faire des grands trucs !

_
fandezizou Messages postés 16 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 28 septembre 2006
17 févr. 2006 à 15:27
salut!
Merci, en plus je viens de me renseigner un peu, je vais essayer pour voir si je pourrai faire grand chose avec les fenêtres.
bon merci beaucoup.
fandezizou Messages postés 16 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 28 septembre 2006
17 févr. 2006 à 15:46
salut
j'ai une question
Est que je dois carrément modifier tout mon programme?
moi ce que je préfère c'est d'excuter tout sur la fenêtre.
Au lieu de "System.out.println(chaine)" je fais "g.drawString(chaine).
Merci pour votre aide
tucobouch Messages postés 194 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 1 mai 2009 50
18 févr. 2006 à 11:28
Houla, c'est mal partit...

Si tu maitrise pas Java, commence par des trucs simples !! (des "petits" trucs lol). Tu utilise une JFrame alors qu'elle ne te sert a rien puisque tu affiche tout sur la console !
System.out en effet est le flux en sortie vers la console où tu execute ton programme Java.

Si tu veux "convertir" de maniere simple (mais moche!) ton code en affichage graphique, tu peux utiliser un JTextArea : c'est un champ texte qui affiche donc du texte!!

voir http://java.sun.com/j2se/1.5.0/docs/api/

en gros : tu créé ton text area :
JTextArea area=new JTextArea("",50,50);

Pour tes print : au lieu de System.out.println, tu fais : area.append("bla bla bla")

ça fera assez moche, mais c'est un début :)

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

Posez votre question
fandezizou Messages postés 16 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 28 septembre 2006
18 févr. 2006 à 19:20
Salut!
Merci pour votre aide, mais enfaite j'ai essayé mais ça ne m'afficher pas du tout mon texte.
J'aimerai être éclairci là dessus merci pour votre aide!!!!
Voici mon code

public static void main(String args[]) throws java.io.IOException
{
JFrame fen= new JFrame();
fen.setSize (500, 500);
fen.setTitle ("Jeu : Motus");
fen.setVisible(true);
fen.setBackground (Color.yellow);
String joueur= new String("Moses");


JTextArea area=new JTextArea("",100,100);
area.append("Bienvenue dans motus "+joueur);
}
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 févr. 2006 à 19:44
Aïe aïe aïe, il te manque les bases du développement d'interfaces
graphiques : il ne suffit pas de déclarer un objet de type JTextArea
pour que celui-ci soit affiché, il faut aussi qu'il soit ajouté à ta
frame (this.add(area))



Je te conseille d'aller lire quelques tutoriaux (celui de jmdoudoux,
que tu trouvera facilement avec google, est vraiment excellent pour
apprendre à programmer avec java !) avant de te lancer dans des projets

_
tucobouch Messages postés 194 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 1 mai 2009 50
18 févr. 2006 à 21:14
En effet, pour que le text area apparaisse : essaye de faire :
fen.getContentPane().add(area);

devrait apparaitre là :D

bonne continuation
tucobouch Messages postés 194 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 1 mai 2009 50
18 févr. 2006 à 21:16
Tu peux voir des exemples assez simples d'interface graphique dans mes codes postés... faut juste éplucher un petit peu les fichiers sources...
fandezizou Messages postés 16 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 28 septembre 2006
23 févr. 2006 à 16:43
merci!
c'est supert sympa
Rejoignez-nous