Hallo JAVA-Gemeinde,
ich habe ein Problem mit der Abfrage der Buttons im AWT Applet. Wenn ich alles in eine Klasse (zB. TestMain.class) schreibe, funktionieren die Buttons einwandfrei. Um den Code etwas übersichtlicher zu gestalten, möchte ich den Code in Klassen aufteilen. Doch nun kann kann das Event nicht mehr mit dem Button verglichen werden (siehe Kommentar bei System.out). Ist die Vorgehensweise eigentlich richtig? Oder hat jemand eine Idee dazu? Bin über jeden Tipp dankbar ;-)
Hier ein Beispiel:
TestMain.class
ViewHauptmenu.class
ich habe ein Problem mit der Abfrage der Buttons im AWT Applet. Wenn ich alles in eine Klasse (zB. TestMain.class) schreibe, funktionieren die Buttons einwandfrei. Um den Code etwas übersichtlicher zu gestalten, möchte ich den Code in Klassen aufteilen. Doch nun kann kann das Event nicht mehr mit dem Button verglichen werden (siehe Kommentar bei System.out). Ist die Vorgehensweise eigentlich richtig? Oder hat jemand eine Idee dazu? Bin über jeden Tipp dankbar ;-)
Hier ein Beispiel:
TestMain.class
Java:
package Testbeispiel;
import java.applet.Applet;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.Event;
import java.awt.Panel;
public class TestMain extends Applet {
Container CntHauptmenu;
CardLayout cl;
static Panel cardPanel;
public void init() {
CntHauptmenu = this;
CntHauptmenu.setLayout(null);
cardPanel = new Panel();
cardPanel.setBounds(10, 20, 300, 300);
cl = new CardLayout();
cardPanel.setLayout(cl);
CntHauptmenu.add(cardPanel);
ViewHauptmenu.InitMenu();
System.out.println(ViewHauptmenu.BtnEins); // AUSGABE: null
}
public boolean action(Event event, Object eventobject) {
System.out.println(event.target); // AUSGABE: java.awt.Button[button0,50,75,120x30,label=1]
System.out.println(ViewHauptmenu.BtnEins); // AUSGABE: null
if (event.target == ViewHauptmenu.BtnEins) {
System.out.println("Button 1 gedrückt");
}
if (event.target == ViewHauptmenu.BtnZwei) {
System.out.println("Button 2 gedrückt");
}
return false;
}
}
ViewHauptmenu.class
Java:
package Testbeispiel;
import java.awt.Button;
import java.awt.Label;
import java.awt.Panel;
public class ViewHauptmenu {
Label LblUberschrift;
static Button BtnEins;
static Button BtnZwei;
Panel PnlHauptmenu;
public static void InitMenu() {
Panel PnlHauptmenu = new Panel();
PnlHauptmenu.setLayout(null);
PnlHauptmenu.setBounds(10, 15, 300, 300);
TestMain.cardPanel.add(PnlHauptmenu, "Hauptmenu");
Label LblUberschrift = new Label("Bitte wählen...");
LblUberschrift.setBounds(10, 25, 220, 20);
PnlHauptmenu.add(LblUberschrift);
Button BtnEins = new Button("1");
BtnEins.setBounds(50, 75, 120, 30);
BtnEins.setFocusable(false);
PnlHauptmenu.add(BtnEins);
Button BtnZwei = new Button("2");
BtnZwei.setBounds(50, 115, 120, 30);
BtnZwei.setFocusable(false);
PnlHauptmenu.add(BtnZwei);
System.out.println(BtnEins); // AUSGABE: java.awt.Button[button0,50,75,120x30,label=1]
}
}
Zuletzt bearbeitet: