入题....期待高手回答

解决方案 »

  1.   

    这是我以前学习时候做的练习,你看下,希望对你有帮助.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;class PersonInfoRecorder extends JFrame implements ActionListener{
    JLabel l1=new JLabel("姓名");
    JLabel l2=new JLabel("性别");
    JLabel l3=new JLabel("年龄");
    JLabel l4=new JLabel("");

    JTextField tf1=new JTextField(7);
    JTextField tf2=new JTextField(7);

    JTextArea ta=new JTextArea(80,30);

    JButton b=new JButton("确定");

    JComboBox cb=new JComboBox();

    JPanel p=new JPanel();
    JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    JPanel p3=new JPanel();

    PersonInfoRecorder(){
    cb.addItem("男");
    cb.addItem("女");
    ta.setBackground(Color.cyan);
    ta.setEditable(false);
    p.setLayout(new BorderLayout());
    p.add(p1,BorderLayout.NORTH);
    p.add(p2,BorderLayout.CENTER);
    p.add(p3,BorderLayout.SOUTH);
    p1.add(l1);
    p1.add(tf1);
    p1.add(l2);
    p1.add(cb);
    p1.add(l3);
    p1.add(tf2);
    p1.add(b);
    p2.add(ta);
    p3.add(l4);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setContentPane(p);
    this.setTitle("个人信息录入器");
    this.setSize(400,200);
    this.setVisible(true);
    b.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e)
    {

    if(e.getSource().equals(b))
    {
    if(tf1.getText().length()==0)
    {
    l4.setText("姓名不能为空!");
    ta.setText("");
    }
    else
    {
    ta.setText(tf1.getText()+","+ cb.getSelectedItem() +","+tf2.getText());
    l4.setText("");
    }
    }
    }
    public static void main(String[] args){
    new PersonInfoRecorder();
    }
    }
      

  2.   

    JComboBox 实现ActionListener的时候在java1.5以前好象只响应鼠标事件,不响应键盘事件.在1.5好像已经可以响应键盘事件了.你如果想响应键盘事件的话可以用ItemListener,不要用ActionListener. JComboBox用ItemListener既响应鼠标又响应键盘.
      

  3.   

    同问 在java1.6 JComboBox里只有一个元素的时候 为什么选中唯一的元素用ActionListener不响应呢? 如果有2个或2个以上元素选其中任何一个就可以响应
      

  4.   

    JCombobox的事件是在选中和取消选中这两种情况下发生的,只有一个元素的话,怎么来判断你是选中还是取消选中?有多个元素的话就可以判断是选中某项还是取消某选的选中,这样才会触发事件.