输出下拉条的内容的一个java程序出错

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:33:59
import java.awt.*;
public class Choice1{
public static void main(String[] args) throws Exception{
Frame frame =new Frame("Choice Test");
Choice ch=new Choice();
ch.add("苹果");
ch.add("梨");
ch.add("桃");
ch.add("葡萄");
ch.add("西瓜");
ch.add("杏");
frame.setLayout(null);
frame.setBackground(Color.BLUE);
frame.add(ch);
frame.setSize(100,100);
ch.setLocation(30,40);
frame.setVisible(true);

System.out.println(getSelectedItem() );

}
}
请高手帮忙改一下.
我改了是可以运行,但每次都输出的是第一个,我点了别的,输出的仍没有变.
请问123190881楼:
可是事件应在什么地方写呢,又要怎样写呢,能不能给点提醒

System.out.println(getSelectedItem());
getSelectedItem()是方法,数据某个实例对象的。
加上ch.就可以了

即使是静态方法通向也需要类对象去调用。不能空调用的。

问题补充:我改了是可以运行,但每次都输出的是第一个,我点了别的,输出的仍没有变.

这个ch根本没有写事件,当然选择之后没有任何反映了,之所以你能输出苹果,是因为这个“流水账”程序最后一句输出了 苹果,而不是你选择苹果就输出苹果。

你需要触发ch的事件,在事件中编写代码 触发 getSelectedItem()

比如说我定义一个按钮,想要这个按钮按下时打印hello
那么就要给这个按钮声明事件

button.addActionListener(this);

这时候就可以触发按钮事件了

public void actionPerformed(ActionEvent e) {

try {
if(e.getSource()==inTel){
try {
Thread tt = new Thread(this);
tt.start();
}
catch (Exception ex) {
ex.printStackTrace();
}
}


这是事件代码 好好看看书吧。我说不了很详细
看看书就行了

最后一句改成
System.out.println(ch.getSelectedItem());
没有事件,
当然不会输出了