D
de Vuilt
Gast
Hi!
Ich hab folgendes Problem:
Ich möchte, dass der Benutzer eine Zahl aus einer Liste auswählt. Nach betätigen des Starten-Buttons wird der Inhalt des ausgewählten Items in der Liste in ein Label geschrieben. Hört sich leicht an, ist es aber nicht für einen Anfänger wie mich... :?
Das Problem ist nämlich, dass wenn ich im ItemStateChanged auf die Liste sglist zugreifen will, eine elend lange NullPointerException-Fehlermeldung ausgespuckt wird. Ich sitz da jetzt schon eine ganze Zeit lang dran... Weiß jemand den Grund für die Fehlermeldung und kann den Code bei ActionListener und ItemListener einsetzen? Danke im Vorraus
Hier mein Code:
Ich hab folgendes Problem:
Ich möchte, dass der Benutzer eine Zahl aus einer Liste auswählt. Nach betätigen des Starten-Buttons wird der Inhalt des ausgewählten Items in der Liste in ein Label geschrieben. Hört sich leicht an, ist es aber nicht für einen Anfänger wie mich... :?
Das Problem ist nämlich, dass wenn ich im ItemStateChanged auf die Liste sglist zugreifen will, eine elend lange NullPointerException-Fehlermeldung ausgespuckt wird. Ich sitz da jetzt schon eine ganze Zeit lang dran... Weiß jemand den Grund für die Fehlermeldung und kann den Code bei ActionListener und ItemListener einsetzen? Danke im Vorraus
Hier mein Code:
Code:
import java.awt.*;
import java.awt.event.*;
public class test extends Frame
implements ActionListener, ItemListener
{
List sglist;
Button start, ende;
Label choice; //da soll das Item erscheinen!
String schwierigkeit;
public test(String titel)
{
super(titel);
Panel panelmain = new Panel();
panelmain.setBackground(Color.lightGray);
panelmain.setFont(new Font("Arial", 0, 16));
panelmain.setLayout(new BorderLayout());
add(panelmain);
Panel panelbuttons = new Panel();
panelbuttons.setBackground(Color.lightGray);
panelbuttons.setFont(new Font("Arial", 0, 16));
panelbuttons.setLayout(new FlowLayout());
panelmain.add("South",panelbuttons);
Panel panelsg = new Panel();
panelsg.setBackground(Color.lightGray);
panelsg.setFont(new Font("Arial", 0, 16));
panelsg.setLayout(new GridLayout(1,1));
panelmain.add("West",panelsg);
Panel panelchoice = new Panel();
panelchoice.setBackground(Color.lightGray);
panelchoice.setFont(new Font("Arial", 0, 16));
panelchoice.setLayout(new GridLayout(6,1));
panelmain.add("East",panelchoice);
Label choice = new Label("Auswahl");
choice.setFont(new Font("Arial", 1, 16));
choice.setAlignment(choice.CENTER);
panelchoice.add(choice);
List sglist = new List();
sglist.add("1");
sglist.add("2");
sglist.add("3");
sglist.add("4");
sglist.add("5");
sglist.select(2);
sglist.addItemListener(this);
panelsg.add(sglist);
Button start = new Button("Starten");
start.addActionListener(this);
panelbuttons.add(start);
Button ende = new Button("Beenden");
ende.addActionListener(this);
panelbuttons.add(ende);
}
public void actionPerformed (ActionEvent e)
{
String Klick=e.getActionCommand();
if (Klick=="Beenden")
{
System.exit(0);
}
if (Klick=="Starten")
{
//??????????????????????????????????????????????????????????????
}
}
public void itemStateChanged (ItemEvent i)
{
//???????????????????????????????????????????????????????????????
}
public static void main(String[]args)
{
Frame f=new test("Testprogramm");
f.setSize(640,180);
f.setVisible(true);
f.setResizable(false);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}