输出下拉条的内容的一个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楼:
可是事件应在什么地方写呢,又要怎样写呢,能不能给点提醒
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());
没有事件,
当然不会输出了