Hallo,
mein Problem ist folgendes: Ich hab mir ein Applet geschrieben, was soweit auch ganz gut funktioniert. Zur Laufzeit des Applets kann man Komponenten (JTextField, JCheckBox usw) hinzufügen. Somit kann es passieren, dass die Größe des Applets größer ist als der sichtbare Bereich im Browser.
Deswegen hab ich nun ein JScrollPane eingefügt. Mein Problem ist nun, dass Button-Klicks seitdem keine Reaktionen mehr verursachen. Hier mein Quellcode:
Die Klasse Login erbt von JPanel. Ich hab denn noch weitere JPanels die durch Button-Klicks angezeigt werden. Der Code dafür sieht so aus:
Wie gesagt, seitdem ich das JScrollPane eingefügt habe, tut sich nichts mehr, wenn ich auf den login-Button klicke.
Muss ich denn das JScrollPane mit übergeben? Oder wo liegt der Fehler.
Vielleicht kann mir ja jemand helfen, wäre nett. Vielen Dank schon einmal im Voraus!
Gruß Paule!!
mein Problem ist folgendes: Ich hab mir ein Applet geschrieben, was soweit auch ganz gut funktioniert. Zur Laufzeit des Applets kann man Komponenten (JTextField, JCheckBox usw) hinzufügen. Somit kann es passieren, dass die Größe des Applets größer ist als der sichtbare Bereich im Browser.
Deswegen hab ich nun ein JScrollPane eingefügt. Mein Problem ist nun, dass Button-Klicks seitdem keine Reaktionen mehr verursachen. Hier mein Quellcode:
Code:
public class Editor extends JApplet {
JPanel activeView; // aktives JPanel
JScrollPane spactiveView;
public void init() {
activeView = new Login(this);
spactiveView = new JScrollPane(activeView); // aktives JPanel in JScrollPane einfügen
getContentPane().add(spactiveView); // JScrollPane einfügen
}
public void changeView(JPanel p) {
remove(activeView);
activeView = p;
spactiveView.add(activeView); // aktives JPanel in JScrollPane einfügen
getContentPane().add(spactiveView); // JScrollPane einfügen
validate();
}
}
Die Klasse Login erbt von JPanel. Ich hab denn noch weitere JPanels die durch Button-Klicks angezeigt werden. Der Code dafür sieht so aus:
Code:
public class Login extends JPanel implements ActionListener {
JLabel username;
JLabel password;
JTextField nName;
JPasswordField pwort;
JButton login;
JButton reg;
Editor owner;
public Login(Editor owner) {
this.owner = owner;
setLayout(new GridLayout(3,2,10,10));
setPreferredSize(new Dimension(400, 200));
username = new JLabel("Nutzername: ");
password = new JLabel("Passwort: ");
nName = new JTextField(10);
pwort = new JPasswordField(10);
login = new JButton("Login");
reg = new JButton("neu registrieren");
login.addActionListener(this);
reg.addActionListener(this);
add(username);
add(nName);
add(password);
add(pwort);
add(login);
add(reg);
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == login)
owner.changeView(new MainWindow(owner)); // MainWindow ist dann ein weiteres JPanel
}
}
Wie gesagt, seitdem ich das JScrollPane eingefügt habe, tut sich nichts mehr, wenn ich auf den login-Button klicke.
Muss ich denn das JScrollPane mit übergeben? Oder wo liegt der Fehler.
Vielleicht kann mir ja jemand helfen, wäre nett. Vielen Dank schon einmal im Voraus!
Gruß Paule!!