下面这个程序是在姓名的TEXT框里输入后,回车,在下面有LABEl显示该输入信息.按EXIT键退出.但是点击exit键没有关闭,还有就是怎么lable显示不了输入的信息呢??
public class optiontest extends JFrame {
     
    
     
    
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
     final optiontest op=new optiontest();
      op.setSize(400, 200);
      op.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      op.setVisible(true);
      JPanel jp=new JPanel();
      JLabel lname=new JLabel("姓名:");
      jp.add(lname);
      
      final JTextField jt=new JTextField(20);
      jt.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jt.requestFocus();
jt.selectAll();


}
});
      jp.add(jt);
   
      
      JLabel show=new JLabel();
      show.setText(jt.getText());
      jp.add(show);
      
      JButton bt=new JButton("Exit");
      bt.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
op.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
});
        jp.add(bt);
      
       Container contentpane=op.getContentPane();
       contentpane.add(jp);
      
      
      
}}

解决方案 »

  1.   

    JTextField 用KeyListener or Adapter来捕获键盘事件
    JButton 用MouseListener or MouseAdater来捕获鼠标事件。
      

  2.   

    面这个程序是在姓名的TEXT框里输入后,回车,在下面有LABEl显示该输入信息
    回车要实现KeyListener 接口
    按EXIT键退出.但是点击exit键没有关闭
    你写的不正确bt.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0){
    //op.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    op.dispose();
    }
    });还有就是怎么lable显示不了输入的信息呢?? 
    你没有在事件中改变Label的值
     
          JLabel show=new JLabel();
          show.setText(jt.getText());
          jp.add(show);
    jt.getText是没有内容的
      

  3.   

    既然jt.getText是没有内容的,
    那怎样把输入的信息在lable显示
      

  4.   

    呵呵,看了下你的程序,因为你的JtextField没有添加键盘监听事件,所以按下去没反映
    你的退出按钮添加的事件也不对,我把你的代码修改了下,可以满足你的要求了public class optiontest extends JFrame { public static void main(String[] args) {
    final optiontest op = new optiontest();
    JPanel jp = new JPanel();
    final JLabel lname = new JLabel("姓名:");
    final JLabel show = new JLabel("显示内容");
    jp.add(lname);
    final JTextField jt = new JTextField(20);
    jt.addKeyListener(new KeyAdapter(){
    public void keyTyped(KeyEvent e){
    if(e.getKeyChar()==KeyEvent.VK_ENTER){
    show.setText(jt.getText());
    }
    }
    });
    jp.add(jt);
    jp.add(show);
    JButton bt = new JButton("Exit");
    bt.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent arg0) {
    System.exit(0);
    }
    });
    jp.add(bt);
    Container contentpane = op.getContentPane();
    contentpane.add(jp);
    op.setSize(400, 200);
    op.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    op.setVisible(true);
    }
    }