Archief - Error resourcebundle

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Linus41

Legacy Member
Hey,
We willen meertaligheid in ons programma. Nu doen we dit met resource bundles. Dit lukt wel als we die integreren in onze GUI laag. Nu zijn er bepaalde zinnen in onze domeinlaag geschreven en als we daar onze RB integeren geeft hij errors. Weet iemand hoe dit komt?

package Domein.DomeinModel.Domein;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.ResourceBundle;

import Persistentie.persistentieBeheerder;

public class DomeinController {
private Personage p;
private Personage t;
private Spel spel;
private Spelbord spelbord;
private String spelbordnaam;
private persistentieBeheerder persistentieBeheerder;
private PersonageRepository personageRepository;
private CategorieRepository categorieRepository;
private List<Personage> tegenstanders = new ArrayList<Personage>();
Taalkeuze taal;
int taalkeuze;
private ResourceBundle messages;

public DomeinController() {
categorieRepository = new CategorieRepository();
personageRepository = new PersonageRepository();
taal = new Taalkeuze();

}
public void setTaal( int keuze ){

taal.setTaal(keuze);
}//end method setTaal

public ResourceBundle getBundle(){

return taal.getBundle();
}//end method getBundle()
public CategorieRepository getCategorieRep(){
return categorieRepository;
}
public void nieuwSpel() {
spel = new Spel(p);
}
public Spel getSpel(){
return spel;
}

public String[][] geefCategorieën() {
List<Categorie> categorien = categorieRepository.geefCategorieën();
String[][] cat = new String[categorien.size()][6];
int i = 0;
for (Categorie c : categorien) {
cat[0] = c.getCategorienaam();
cat[1] = String.valueOf(c.getAanvalspunten());
cat[2] = String.valueOf(c.getLichaamspunten());
cat[3] = String.valueOf(c.getSnelheidspunten());
cat[4] = String.valueOf(c.getVerdedigingspunten());
cat[5] = String.valueOf(c.getGeld());
i++;
}
return cat;
}
public boolean eindeSpel(){
return spel.eindeSpel();
}
public String[][] geefPersonages() {

List<Personage> l = personageRepository.geefPersonages();
int i = 0;
String[][] tabelP = new String[l.size()][2];
for (Personage p : l) {
tabelP[0] = p.getNaam() + "\t";
tabelP[1] = p.getCategorie().getCategorienaam();
i++;

}
return tabelP;

}

public String[] maakPersonage(String naam, int index) {

Categorie categorie = categorieRepository.geefCategorie(index);
p = personageRepository.maakPersonage(naam, categorie);

String[] arrayP = new String[6];

arrayP[0] = p.getNaam();
arrayP[1] = p.getCategorie().getCategorienaam();
arrayP[2] = Integer.toString(p.getCategorie().getLichaamspunten());
arrayP[3] = Integer.toString(p.getCategorie().getAanvalspunten());
arrayP[4] = Integer.toString(p.getCategorie().getVerdedigingspunten());
arrayP[5] = Integer.toString(p.getCategorie().getSnelheidspunten());

return arrayP;
}

public String[] kiesPersonage(int index) {

p = personageRepository.kiesPersonage(index - 1);
String personagegegevens[] = new String[6];
personagegegevens[0] = p.getNaam();
personagegegevens[1] = p.getCategorie().getCategorienaam();
personagegegevens[2] = Integer.toString(p.getCategorie()
.getAanvalspunten());
personagegegevens[3] = Integer.toString(p.getCategorie()
.getLichaamspunten());
personagegegevens[4] = Integer.toString(p.getCategorie()
.getSnelheidspunten());
personagegegevens[5] = Integer.toString(p.getCategorie()
.getVerdedigingspunten());
return personagegegevens;
}

public String[] kiesTegenstander(String naamT){
tegenstanders = spel.geefBeschikbareTegenstanders();
String[] arrayTegenstander = new String[1];
for(int k=0; k< tegenstanders.size(); k++){
if(naamT.equals(tegenstanders.get(k)))
arrayTegenstander[0] = tegenstanders.get(k).getNaam();
t= tegenstanders.get(k);
spel.setT(t);
}
return arrayTegenstander;
}
public String getSpelBord() {
return spel.getBord().toString();
}

public void verplaatsPersonage(int x, int y) {
spel.verplaatsPersonage(x, y, p);
}

public int gooiDobbelsteen() {
return spel.genereerGetallen();
}

public int bepaalAantalStappen(){
return spel.gooiDobbelsteen();
}


public int gooiGDobbelsteen(){ //MOET ER HIER EEN PERSONAGE ALS ATTRIBUUT
return spel.gooiGDobbelsteen(p);
}
public int gooiGDobbelsteen(String naamT){
return spel.gooiGDobbelsteen(naamT);
}
public int gooiGDobbelsteenSchilden(){
return spel.gooiGDobbelsteenSchilden(t.getCategorie());

}
public int gooiGDobbelsteenSchilden(String naamT){
return spel.gooiGDobbelsteenSchilden(naamT);
}
public int gooiGDobbelsteenWitteSchilden(){
return spel.gooiGDobbelsteenWitteSchilden();
}

public int duelleerAlsAanvaller(int schedels, int schilden, String naamT){

return spel.duelleerAlsAanvaller(schedels, schilden, naamT);
}
public String[][] kiesRandomTegenstander(){

Personage tegenstander = spel.kiesRandomTegenstander();

if(tegenstander != null){
String[][] arrayTegenstander = new String[1][2];

arrayTegenstander[0][0] = tegenstander.getNaam();
arrayTegenstander[0][1] =String.valueOf(tegenstander.getCategorie().getLichaamspunten());

return arrayTegenstander;

}
else
return null;
}
public String[][] geefBeschikbareTegenstanders(){
tegenstanders = spel.geefBeschikbareTegenstanders();
String[][] arrayTegenstander = new String[tegenstanders.size()][2];

for (int i = 0; i < tegenstanders.size(); i++) {

arrayTegenstander[0] = tegenstanders.get(i).getNaam();
arrayTegenstander[1] = String.valueOf(tegenstanders.get(i)
.getCategorie().getLichaamspunten());
}
if(tegenstanders.size()== 0)
messages = getBundle();
System.out.printf("\n%s\n\n", messages.getString("geenT"));

return arrayTegenstander;

}
public int[] evalueerDuel(int schedels, int schilden, int schadePunten){
return spel.evalueerDuel(schedels, schilden, schadePunten);
}
public int[] evalueerDuelVerdedigen(int schedels, int schilden, int schadePunten){
return spel.evalueerDuelVerdedigen(schedels, schilden, schadePunten);
}
}


Error:
Exception in thread "main" java.lang.NullPointerException
at Domein.DomeinModel.Domein.DomeinController.geefBeschikbareTegenstanders(DomeinController.java:193)
at UI.Console.geefBeschikbareTegenstanders(Console.java:203)
at UI.Console.speel(Console.java:98)
at UI.Console.NieuwSpel(Console.java:79)
at UI.Console.run(Console.java:23)
at StartUp.main(StartUp.java:11)

NeverwinterX

Legacy Member
Dat komt omdat taal.getBundle() null teruggeeft. Gebruik je die methode ook om in de GUI je bundle te bekomen? Zoja, dan is het vreemd en zul je wat meer info moeten geven over de implementatie in taal. Zonee dan heb je gewoon iets fout gedaan in die taal.getBundle() wat je bij de GUI goed deed. Of misschien gebeurt setTaal niet goed en heeft die default taal een gekke getBundle() als resultaat?

Linus41

Legacy Member
gebruiken dzelfde methode als in de gui... zal eens kijken naar de setter
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan