Hallo,
Ich habe eine kleine GUI-Anwendung geschrieben. hier ein Screenshot davon:
Und hier alle Sourcen:
Main-Class
Action-Listeners
Episode Codes
Episode Names
Episode Number and Season Number
Das Programm hat den Zweck, Episoden von den Simpsons zu finden, indem man eine der Drei Informationen angibt. Nachdem man das getan hat, werden alle drei Informationen oben angegeben.
Mein Problem bei dem Programm ist jetzt, dass die Bedingungen der while- und if-schleifen nicht die gewollte Einschränkung bringen. Und zwar soll es so funktionieren, dass man sich zwischen einem RadioButton entscheidet, dann die nötige Information angibt. Mit dem Wählen eines RadioButtons wird eine boolean-variable auf true gesetzt, um den suchlauf einzuschränken. Dann wird überprüft, ob die eingegebene Information in der eigenen Datenbank vorhanden ist. Wenn ja, werden alle Informationen die zu der jeweiligen gefundenen Eintragnummer gehören eingeblendet.
Leider haben die RadioButtons aber keine Wirkung, weil die boolean-variablen später automatisch auf true gesetzt werden.
Hier ein Auszug aus meinem Code:
Das sind die drei boolean-variablen, die erst dann auf true gesetzt werden sollen, wenn der jeweilige RadioButton angeklickt wurde.
Ihr seht dort oben die If-Anweisung, bei der die boolean-variable sbepc schon auf true steht, auch wenn kein RadioButton geklickt wurde. Das ganze Programm enthält nur einmal die Anweisung, sbepc auf true zu setzen, und das ist in dem ActionListener, der dem RadioButton zugeordnet wurde. Ich habe es aber schon nachgeprüft, dieser ActionListener wird nicht ausgelöst.
Woran liegt es, dass meine boolean-variable auf true gesetzt wird?
Wäre dankbar für Eure Hilfe.
Ach, und falls Ihr irgendwo etwas bemerkt, dass unelegant implementiert ist, bin ich auch dankbar wenn Ihr mich darauf aufmerksam macht. Oder wenn ihr generell am Stil etwas schlecht findet.
Danke im Voraus.
Ich habe eine kleine GUI-Anwendung geschrieben. hier ein Screenshot davon:
Und hier alle Sourcen:
Main-Class
Action-Listeners
Episode Codes
Episode Names
Episode Number and Season Number
Das Programm hat den Zweck, Episoden von den Simpsons zu finden, indem man eine der Drei Informationen angibt. Nachdem man das getan hat, werden alle drei Informationen oben angegeben.
Mein Problem bei dem Programm ist jetzt, dass die Bedingungen der while- und if-schleifen nicht die gewollte Einschränkung bringen. Und zwar soll es so funktionieren, dass man sich zwischen einem RadioButton entscheidet, dann die nötige Information angibt. Mit dem Wählen eines RadioButtons wird eine boolean-variable auf true gesetzt, um den suchlauf einzuschränken. Dann wird überprüft, ob die eingegebene Information in der eigenen Datenbank vorhanden ist. Wenn ja, werden alle Informationen die zu der jeweiligen gefundenen Eintragnummer gehören eingeblendet.
Leider haben die RadioButtons aber keine Wirkung, weil die boolean-variablen später automatisch auf true gesetzt werden.
Hier ein Auszug aus meinem Code:
Code:
public class sguiSB {
static boolean sbepc = false; // Search by Episode Code
static boolean sbnoe = false; // Search by Name of Episode
static boolean sbSNE = false; // Search by Season and Number of Episode
static int count;
public static void main(String[] args) throws Exception
{
[...]
Code:
while( true )
{
// For searching by Episode Code
if( sbepc = true ) // <==== HIER DAS PROBLEM
{
for( sguiSB.count=0; sguiSB.count!=400; sguiSB.count ++ ) // checks every 400 episode codes ...
{
if(epCodes.findEPC( count ).equals( tf1.getText() )) // ... until the one checked equals the one read by tf1 --> episode found! infos will be printed...
{
String SENU = epSeNu.findEPSN( count );
label2.setText( "Name of the Episode: " + epNames.findEPN( count ) );
label3.setText( "Season: " + SENU.charAt( 0 ) + SENU.charAt( 1 ) );
label4.setText( "Episode: " + SENU.charAt( 2 ) + SENU.charAt( 3 ) );
label5.setText( "Episode Code: "+ epCodes.findEPC( count ) );
frame1.pack();
}
}
}
[...]
Woran liegt es, dass meine boolean-variable auf true gesetzt wird?
Wäre dankbar für Eure Hilfe.
Ach, und falls Ihr irgendwo etwas bemerkt, dass unelegant implementiert ist, bin ich auch dankbar wenn Ihr mich darauf aufmerksam macht. Oder wenn ihr generell am Stil etwas schlecht findet.
Danke im Voraus.