Java---> problème pour sélectionner langue

Fermé
overpowed Messages postés 116 Date d'inscription samedi 26 avril 2008 Statut Membre Dernière intervention 19 octobre 2013 - 12 janv. 2011 à 19:39
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 12 janv. 2011 à 21:11
Bonjour,
j'aimerais faire un sélecteur de langue à mon programme mais je ne vois pas quelle méthode utiliser.
Voici le code:
-------------------------------------------------------------------------------------------------------------------

import java.awt.Color;
import javax.swing.JButton;
import acm.graphics.GImage;
import acm.graphics.GLabel;
import acm.graphics.GLine;
import acm.graphics.GMath;
import java.awt.GradientPaint;

import acm.graphics.GPoint;

import acm.io.IODialog;
import acm.program.*;


public class JeuPereNoel extends GraphicsProgram{
public static final int APPLICATION_WIDTH = 1366;
public static final int APPLICATION_HEIGHT = 650;

private GPoint p1;
private GPoint p2;
private GImage tele;
private GImage notgood;
private GImage good;
private GLine ligneCheminee;
private GImage sol;
private GImage tele2;
private GImage guirlande;
private GImage guirlande2;
private GImage guirlande3;
private GImage maMaison;
private GImage pnoel;
private GImage traineau;
private GImage jump;
private GImage jump2;
private GImage bulle;
private GImage regle;
private int choixLangue;



public static void main(String[] args){
new JeuPereNoel().start();
}

//public void choix (){
//switch (choixLangue) {

//case 1 :
//if (choixLangue == 2){

public GPoint evalPos( double v0, double angle0, double instantT){

double x,y;
x = v0*GMath.cosDegrees(angle0)*instantT;
y = v0*GMath.sinDegrees(angle0)*instantT-(9.81*(instantT*instantT)/2);


return new GPoint(x,y);
}
public void traceTrajectoir(double v0, double angle0){
double temps = 0.01;
GPoint p ;
do{
p = evalPos(v0, angle0, temps);
marquerPoint(p);
pause(2);
temps +=0.1;
}while(p.getY()>0);
}


public void marquerPoint(GPoint p){



double y = (400-p.getY());
tele = new GImage ("tele.png",420+p.getX(), y);

remove (bulle);
remove (tele2);
remove (jump);
add (jump2);
add(tele);
pause (10);
remove (tele);




if(tele.contains(p1) || tele.contains(p2)){




remove (tele);
good = new GImage ("bulle verygood.png",15,100);
add (good);
pause (3000);



System.exit(0);
}




else if ((tele.getX() >= getWidth()) && tele.getY() >= tele.getHeight()) {

notgood = new GImage ("bulle notgood.png",15,100);
add (notgood);
pause (2000);
remove (notgood);
IODialog clavier = getDialog();
double vitesseInitiale = clavier.readDouble("Saisir Vitesse initiale en KM/h : ");
GImage txt1 = new GImage ("fenetreVista.png",500,100);
add (txt1);
pause (1000);
remove (txt1);
double angleDeTir = clavier.readDouble("Saisir angle du lance : ");
add (txt1);
pause (1000);
remove (txt1);
remove (bulle);
traceTrajectoir(vitesseInitiale, angleDeTir);


}
//break;

}

//pour toucher la cheminee: fenetre 1 = 132 fenetre 2 = 82\\





/**
case 2 :
public GPoint evalPos( double v0, double angle0, double instantT){

double x,y;
x = v0*GMath.cosDegrees(angle0)*instantT;
y = v0*GMath.sinDegrees(angle0)*instantT-(9.81*(instantT*instantT)/2);


return new GPoint(x,y);
}
public void traceTrajectoir(double v0, double angle0){
double temps = 0.01;
GPoint p ;
do{
p = evalPos(v0, angle0, temps);
marquerPoint(p);
pause(2);
temps +=0.1;
}while(p.getY()>0);
}


public void marquerPoint(GPoint p){



double y = (400-p.getY());
tele = new GImage ("tele.png",420+p.getX(), y);

remove (bulle);
remove (tele2);
remove (jump);
add (jump2);
add(tele);
pause (10);
remove (tele);




if(tele.contains(p1) || tele.contains(p2)){




remove (tele);
good = new GImage ("bulle verygood.png",15,100);
add (good);
pause (3000);



System.exit(0);
}




else if ((tele.getX() >= getWidth()) && tele.getY() >= tele.getHeight()) {

notgood = new GImage ("bulle notgood.png",15,100);
add (notgood);
pause (2000);
remove (notgood);
IODialog clavier = getDialog();
double vitesseInitiale = clavier.readDouble("Saisir Vitesse initiale en KM/h : ");
GImage txt1 = new GImage ("fenetreVista.png",500,100);
add (txt1);
pause (1000);
remove (txt1);
double angleDeTir = clavier.readDouble("Saisir angle du lance : ");
add (txt1);
pause (1000);
remove (txt1);
remove (bulle);
traceTrajectoir(vitesseInitiale, angleDeTir);


}
break;

}

//pour toucher la cheminee: fenetre 1 = 132 fenetre 2 = 82\\




*/
public void run(){
//Choix des langues ici.\\
IODialog langue = getDialog();
choixLangue = langue.readInt("Please select your language : English = 1, French = 2");

p1 = new GPoint (880,255);
p2 = new GPoint (920,255);
ligneCheminee = new GLine (880,255,920,255);
tele2 = new GImage ("tele.png",400,455);
pnoel = new GImage ("pere noel.jpg", 50,438);
traineau = new GImage ("traineaup.png",150,410);
maMaison = new GImage ("maison pour le projet.jpg",800,235);
jump = new GImage ("jump.jpg", 400,505);
guirlande = new GImage ("guirlande.gif",0,0);
guirlande2 = new GImage ("guirlande.gif",530,0);
guirlande3 = new GImage ("guirlande.gif",1060,0);
jump2 = new GImage ("jump2.png", 395,485);
bulle = new GImage ("bulle ppnoel.png",15,100);
regle = new GImage ("Regledujeu.jpg",0,560);
sol = new GImage ("sol.jpg",0,520);

add (ligneCheminee);
add (sol);
add (regle);
add (tele2);
add (maMaison);//Cheminee 880--920--y=255\\
add (bulle);
add (pnoel);
add (traineau);
add (jump);
add (guirlande);
add (guirlande2);
add (guirlande3);


pause (2000);


IODialog clavier = getDialog();
double vitesseInitiale = clavier.readDouble("Saisir Vitesse initiale en KM/h : ");
GImage txt1 = new GImage ("fenetreVista.png",500,100);
add (txt1);
pause (1000);
remove (txt1);
double angleDeTir = clavier.readDouble("Saisir angle du lance : ");
add (txt1);
pause (1000);
remove (txt1);
remove (bulle);
traceTrajectoir(vitesseInitiale, angleDeTir);
}}
-----------------------------------------------------------------------------------------------------
c'est une option anglais francais pour l'école.
La question est quel méthode prendre pour prendre la langue choisi par l'utilisateur.
Merci d'avance.

A voir également:

3 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
12 janv. 2011 à 20:01
Tu peux utiliser un enum pour créer tes langues...
Ici j'ai utilisé Scanner, mais tu pourrais utiliser directement ton clavier

import java.util.Scanner;

public enum Langue {Francais, English, Deutsch, Espanol, Italiano};

public static void main(String args[])
{
	System.out.println("Langues disponibles :");
	for (int i=0; i<Langue.values().length; i++)
		System.out.println("\t"+i+" : "+Langue.values()[i]);
	
	System.out.print("\nChoix de la langue : ");
	
	int n = new Scanner(System.in).nextInt();
	Langue langue = Langue.values()[n]; 
	System.out.println("\nLangue choisie : "+langue+"\n");
	
	switch (langue)
	{
	case Francais : System.out.println("Salut !"); break;
	case English  : System.out.println("Hello !"); break;
	case Deutsch  : System.out.println("Hallo !"); break;
	case Espanol  : System.out.println("Hola !"); break;
	case Italiano : System.out.println("Ciao !"); break;
	}
}
0
overpowed Messages postés 116 Date d'inscription samedi 26 avril 2008 Statut Membre Dernière intervention 19 octobre 2013 2
12 janv. 2011 à 20:54
Dans le cas présent, il faudrait mettre une méthode dans une autre or Java ne l'accepte pas.
Tu veux dire quoi aussi par utiliser clavier? Comment l'utiliser correctement?

Merci d'avance.
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
12 janv. 2011 à 21:11
Moi j'ai utilisé Scanner(System.in).nextInt() dans mon exemple qui interagit avec la console, mais toi tu as un objet IODialog clavier donc tu devrais plutôt utiliser clavier.readInt(0,Langue.values().length-1)

Par contre je ne vois pas quel est ton problème de méthode dans une méthode ?
0