Ausgelagerten ActionListener einbinden

donshrimps

Grünschnabel
Hey zusammen!
mein Problem: Ich möchte den Code zum Darstellen des Applets und den eigentlichen Funktionscode trennen.
es ergeben sich 2 Klassen, wie folgt:
++++++++++++++++++++++++++++++++++++++++++++++++++

public class Demo extends Applet {
public Button b2, b1;
public Label mess;

public void init()
{
KeyboardListener kbl = new KeyboardListener();

GridBagLayout gb1 = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
setLayout(gb1);

// Es werden die verschiedenen Elemente definiert und mit der Funktion makegbc konfiguriert

Button b1 = new Button("Senden");
gbc = makegbc(1,1,1,1);
gbc.fill = GridBagConstraints.BOTH;
gbc.anchor = GridBagConstraints.WEST;
gb1.setConstraints(b1, gbc);
//b1.addActionListener(mfa);
add(b1);

b2 = new Button("Beenden");
gbc = makegbc(1,2,1,1);
gbc.anchor = GridBagConstraints.WEST;
gbc.fill = GridBagConstraints.BOTH;
gb1.setConstraints(b2, gbc);
//b2.addActionListener(mfa);
add(b2);

mess = new Label("Es wurde nichts gedrückt");
gbc = makegbc(2,1,2,2);
gbc.anchor = GridBagConstraints.EAST;
gbc.fill = GridBagConstraints.BOTH;
gb1.setConstraints(mess, gbc);
add(mess);

setVisible(true);
addKeyListener(kbl);
}
/*
public void paint(Graphics g)
{
g.drawString("Welcome to Java", 50, 60 );
}

*/




/* GridBagConstraints füllt Werte für jeweiliges Element */

private GridBagConstraints makegbc(int x, int y, int width, int height)
{
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.insets = new Insets (1,1,1,1);
return gbc;
}

}


class KeyboardListener extends KeyAdapter
{
public void keyPressed(KeyEvent event)
{

Applet source = (Applet)event.getSource();
if (event.getKeyCode() == KeyEvent.VK_ESCAPE)
{
source.mess.setText("hilfe");
}
}


}

Leider kennt der Compiler source an dieser tollen Stelle nicht. Irgendwie kann er die Hauptclasse Demo und die variable mess nicht finden, warum?
gruß und thanx
 

Neue Beiträge

Zurück