Als opdracht voor school moeten wij in groep een meertalige Java-applicatie maken. Ik heb hiervoor reeds de nodige resource packages (.properties bestanden) aangemaakt, maar heb geen idee hoe ik deze moet gebruiken in de code.
taal_nl.properties:
Applicatieklasse:
taal_nl.properties:
Code:
1=U hebt Nederlands gekozen. De applicatie zal zo dadelijk starten.
2=Selecteer een spel uit onderstaande lijst:
3=U hebt gekozen voor het spel %s. Het gekozen spel zal zo dadelijk starten.
4=Met hoeveel spelers wenst u te spelen?
fout1=Het cijfer dat u gekozen hebt komt niet voor in de lijst. Voer een ander cijfer in:
fout2=Geef een cijfer in:
Applicatieklasse:
Code:
package gui;
import domein.DomeinController;
import java.util.InputMismatchException;
import java.util.Scanner;
/**
*
* @author Rikkert
*/
public class DoolhofApplicatie
{
//Methode die wordt opgeroepen in de StartUp
public static void startDoolhof(DomeinController dc)
{
int keuze = -1;
Scanner invoer = new Scanner(System.in);
kiesTaal(dc);
do
{
System.out.println("Wat wenst u te doen\n");
System.out.println("1) Nieuw spel Starten\n2) Spel uit de databank inladen\n");
System.out.print("Keuze: ");
try
{
keuze = invoer.nextInt();
if (keuze < 1 || keuze > 2)
{
System.out.println("\nHet cijfer dat u gekozen heeft komt niet voor in het menu");
invoer.nextLine();
}
} catch (InputMismatchException e)
{
System.out.println("\nGeef een cijfer/Donez un nummero/Give a number");
invoer.nextLine();
}
System.out.println();
} while (keuze < 1 || keuze > 2);
switch (keuze)
{
case 1:
System.out.printf("U heeft gekozen om een nieuw spel te starten%n%nGelieve de ondestaande instructies te volgen.%n");
startNieuwSpel(dc);
break;
case 2:
System.out.println("Gelieve een spel uit onderstaande lijst te selecteren\n");
kiesSpel(dc);
break;
default:
startNieuwSpel(dc);
}
}
//Methode om de taal te kiezen
public static void kiesTaal(DomeinController dc)
{
int keuze = -1;
String taal = "";
Scanner invoer = new Scanner(System.in);
do
{
System.out.println("Kies taal/Choisissez la langue/Choose language\n");
System.out.println("1) Nederlands\n2) Francais\n3) English\n");
System.out.print("Keuze/Choix/Choice: ");
try
{
keuze = invoer.nextInt();
if (keuze < 1 || keuze > 3)
{
System.out.println("\nHet cijfer dat u gekozen heeft komt niet voor in het menu");
invoer.nextLine();
}
} catch (InputMismatchException e)
{
System.out.println("\nGeef een cijfer/Donez un nummero/Give a number");
invoer.nextLine();
}
System.out.println();
} while (keuze < 1 || keuze > 3);
switch (keuze)
{
case 1:
taal = "nl";
System.out.println();
break;
case 2:
taal = "fr";
System.out.println("Vous avez choisi Français, l'application va immédiatement commencer");
break;
case 3:
taal = "en";
System.out.println("You've chosen English, The application will commance immediately");
break;
default:
taal = "nl";
}
System.out.println();
}
//Methode die de speler een lijst van SPELNAMEN (uit DB) geeft waaruit de gebruiker kan kiezen
//De spelers die aan dit spel gelinkt zijn, worden ook weergegeven
public static void kiesSpel(DomeinController dc)
{
String[] spelNamen = dc.geefSpelNamen();
int keuze = -1;
Scanner invoer = new Scanner(System.in);
//printen van de spelnamen
for (int i = 1; i <= spelNamen.length; i++)
{
System.out.println(i + ".) " + spelNamen[i - 1]);
}
System.out.println();
do
{
System.out.print("Keuze: ");
try
{
keuze = invoer.nextInt();
if (keuze < 1 || keuze > spelNamen.length)
{
System.out.println("\nHet cijfer dat u gekozen heeft komt niet voor in het menu");
invoer.nextLine();
}
} catch (InputMismatchException e)
{
System.out.println("\nGelieve een cijfer in te voeren");
invoer.nextLine();
}
} while (keuze < 1 || keuze > spelNamen.length);
System.out.printf("U heeft gekozen voor het spel %s%nHet gekozen spel zal dadelijk starten%n%n", spelNamen[keuze - 1]);
System.out.println("Volgende spelers zijn aan dit spel gelinkt: ");
String[] spelersNamen = dc.geefSpelersNamen(spelNamen[keuze - 1]);
for (int i = 1; i <= spelersNamen.length; i++)
{
System.out.println(i + ".) " + spelersNamen[i - 1]);
}
System.out.println();
}
// Methode die een nieuw spel aanmaakt
public static void startNieuwSpel(DomeinController dc)
{
int keuze = 0;
Scanner invoer = new Scanner(System.in);
do
{
System.out.print("Met hoeveel spelers wenst u te spelen? (2-4): ");
try
{
keuze = invoer.nextInt();
if (keuze < 2 || keuze > 4)
{
System.out.printf("%nGelieve een spelersaantal tussen 2 en 4 in te voeren");
invoer.nextLine();
}
} catch (InputMismatchException e)
{
System.out.printf("%nGelieve een cijfer in te voeren");
invoer.nextLine();
}
} while (keuze < 2 || keuze > 4);
//Methode die een nieuw spel aanmaakt op basis van het spelersaantal
dc.maakNieuwSpel(keuze);
}
}