Hallo Forum,
ich habe hier 2 Klassen. Die erste Klasse dient als Observer
Die 2. Klasse ist Observable
In der Observer Klasse erhalte ich jetzt in der switch Methode die Fehlermeldung von Eclipse
case expressions must be constant expressions /src/core/launchers ApplicationLaucher.java line 17
Die Fehler kommen auch in den anderen cases.
Warum wird nicht erkannt, das z.B. ApplicationModelRunLevel.getInstance().PRESTART als final deklariert wurde?
Danke.
Tom
ich habe hier 2 Klassen. Die erste Klasse dient als Observer
Java:
package core.launchers;
import java.util.Observer;
import models.ApplicationModelRunLevel;
public class ApplicationLaucher implements Observer{
public void run() {
// TODO Auto-generated method stub
ApplicationModelRunLevel.getInstance().addObserver(this);
}
public void update(Observable o, Object arg) {
// TODO Auto-generated method stub
switch(Integer.parseInt(arg.toString())){
case ApplicationModelRunLevel.getInstance().PRESTART:
break;
case ApplicationModelRunLevel.getInstance().RUN:
break;
case ApplicationModelRunLevel.getInstance().RELOAD:
break;
case ApplicationModelRunLevel.getInstance().EXIT:
break;
case ApplicationModelRunLevel.getInstance().EXIT_ON_ERROR:
break;
}
}
}
Die 2. Klasse ist Observable
Java:
package models;
import java.util.Observable;
public class ApplicationModelRunLevel extends Observable{
final public int PRESTART = 99;
public final int RUN = 1;
public final int RELOAD = 6;
public final int EXIT = 0;
public final int EXIT_ON_ERROR = 66;
public int runLevel = 99;
private static ApplicationModelRunLevel INSTANCE = new ApplicationModelRunLevel();
protected ApplicationModelRunLevel(){
super();
}
public int getRunLevel(){
return this.runLevel;
}
public void setRunLevel(int _runLevel){
this.runLevel = _runLevel;
this.setChanged();
this.notifyObservers(_runLevel);
}
public static synchronized ApplicationModelRunLevel getInstance() {
return INSTANCE;
}
}
case expressions must be constant expressions /src/core/launchers ApplicationLaucher.java line 17
Java:
Line 17 ist case ApplicationModelRunLevel.getInstance().PRESTART:
Warum wird nicht erkannt, das z.B. ApplicationModelRunLevel.getInstance().PRESTART als final deklariert wurde?
Danke.
Tom