Moin.einer meiner switchs ärgert mich mal wieder und ich hab langsam die schnauze voll oO theoretisch sieht es so aus: ein fenster wird geöffnet(bool1==true).danach hat man 4 Tasten zu auswahl: pfeil hoch(bewegt den pfeil auf dem bildschirm zum nächsten wort darüber), pfeil runter(dasselbe, nur eben umgedreht), enter(geht in einen anderen switch der je nachdem auf welches wort der pfeil zeigt eine aktion ausführt) und escape(verlässt das fenster). das ganze findet in der keyPressed(KeyEvent event)-methode statt.
und so sieht der code aus:
if (bool1 == true)
{
switch(event.getKeyCode()) // der switch richtet sich nach der taste die gedrückt wurde
{
case 10: // enter
{
switch(selected) // selected ist die nummer des wortes auf das der pfeil gerade zeigt
{
case 1:
{
bool2 = true; // irrelevant
bool1 = false; // fenster schließt sich
break;
}
case 2:
{
bool1 = false; // funzt nich....
break;
}
case 3:
{
bool1 = false; // auch nich....
break;
}
case 4:
{
bool1 = false; // genauso wenig...
break;
}
default: {break;} // wird nie erreicht, aber der vollständigkeit halber
}
break;
}
/***************************************************
Hier wird der Pfeil hoch und runter bewegt+"selected" erhöht oder erniedrigt
***************************************************/
case 38: // up
{
if (arrowy > 30) // begrenzung nach oben
{
arrowy -= 40;
selected--;
}
break;
}
case 40: // down
{
if (arrowy < 140) // begrenzung nach unten
{
arrowy += 40;
selected++;
}
break;
}
case 27: // Escape
{
bool1 = false; // funktioniert ôo
break;
}
default: {break;} // genauso wie das andere default - nie erreicht, trotzdem da
}
}
Alles anzeigen
pfeil hoch und runter und escape funktioniern wunderbar, pfeil bewegt sich, selected läuft mit.problem ist der "innere" switch.da funktioniert nur case 1 problemlos. case 2,3,4 machen nichts(fenster sollte sich schließen, bleibt aber offen).zudem wird selected wieder auf 1 zurückgesetzt - was mir völlig schleierhaft ist wie das funktioniert, schließlich hab ich NIRGENS "selected = 1" zu stehn und selbst wenn das programm nach dem inneren switch in den äußeren geht(was er nicht tut) und case 38 ausführt kann bei "selected--" selected von 4 nicht auf 1 springen...
und ja ich weiß, mit nem mousemotionlistener und buttons etcpp. wär das alles viel einfacher und so aber ich möchte das so haben
plz help xD