Hallo, ich bin immer noch an meinem JavaPhone Projekt. Jetzt grade beim Eventhandling. Wenn die Nummerntasten gedrückt werden sollen wie bei einem Telefon die Ziffern im Display erscheinen. Als Anleitung dafür habe ich ein Blatt aus dem Info-Unterricht benutzt. Scheint aber nicht wirklich genau so zu funktionieren wie darauf beschrieben. Hier der Code:
Beim Compilieren bekomme ich folgende Meldung:
Simon
Code:
import java.awt.*;
class JavaPhoneGui extends Frame {
Button key1 = new Button("1");
Button key2 = new Button("2");
Button key3 = new Button("3");
Button key4 = new Button("4");
Button key5 = new Button("5");
Button key6 = new Button("6");
Button key7 = new Button("7");
Button key8 = new Button("8");
Button key9 = new Button("9");
Button key0 = new Button("0");
Button key_raute = new Button("#");
Button key_stern = new Button("*");
Button hookoff = new Button("Hook off");
TextField display = new TextField();
Label state = new Label("ready");
Panel keyPanel = new Panel();
Panel keyDisplayPanel = new Panel();
Panel statePanel = new Panel();
JavaPhoneGui() {
setLayout(new BorderLayout(2,2));
keyPanel.setLayout(new GridLayout(4,3,2,2));
keyDisplayPanel.setLayout(new BorderLayout(2,2));
statePanel.setLayout(new BorderLayout(2,2));
keyPanel.add(key1);
keyPanel.add(key2);
keyPanel.add(key3);
keyPanel.add(key4);
keyPanel.add(key5);
keyPanel.add(key6);
keyPanel.add(key7);
keyPanel.add(key8);
keyPanel.add(key9);
keyPanel.add(key_raute);
keyPanel.add(key0);
keyPanel.add(key_stern);
keyDisplayPanel.add(display, BorderLayout.NORTH);
keyDisplayPanel.add(keyPanel, BorderLayout.CENTER);
statePanel.add(hookoff,BorderLayout.CENTER);
statePanel.add(state, BorderLayout.NORTH);
add(keyDisplayPanel, BorderLayout.CENTER);
add(statePanel, BorderLayout.WEST);
setTitle("JavaPhone");
setSize(300,300);
setLocation(300,300);
setResizable(false);
setVisible(true);
key1.addActionListener(new KeyListener());
key2.addActionListener(new KeyListener());
key3.addActionListener(new KeyListener());
key4.addActionListener(new KeyListener());
key5.addActionListener(new KeyListener());
key6.addActionListener(new KeyListener());
key7.addActionListener(new KeyListener());
key8.addActionListener(new KeyListener());
key9.addActionListener(new KeyListener());
key0.addActionListener(new KeyListener());
key_raute.addActionListener(new KeyListener());
key_stern.addActionListener(new KeyListener());
hookoff.addActionListener(new KeyListener());
}
}
class KeyListener implements ActionListener {
actionPerformed(ActionEvent e) {
String ziffer = e.getActionCommand();
display.setText(display.getText()+ziffer);
}
}
Beim Compilieren bekomme ich folgende Meldung:
Erscheint eigentlich recht logisch die Meldung. Welchen Ausgabetyp hat den eine solche actionPerformed-Methode? Oder habe ich etwas anderes falsch gemacht? Danke für schnelles posten^^simon@simon:/daten/schule/java/JavaPhone$ javac JavaPhoneGui.java
JavaPhoneGui.java:75: invalid method declaration; return type required
actionPerformed(ActionEvent e) {
^
1 error
Simon