下面这个程序是在姓名的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);
}}
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);
}}
解决方案 »
- 如何解决java.util.ConcurrentModificationException
- 项目分配算法
- java 编译时 错误提示 Exception in thread "main" java.lang.NoSuchMethodError
- 谁有空!!帮忙把这几个题做一下吧!!!!谢谢!!!!!!!!
- 请教大家java的回调技术到底是什么?
- sun公司的黑洞????
- 求助!!!
- 急,急:这个问题已经困扰了两个星期,请各位进来看看
- 上传头像不成功
- 求助 vlc怎么实现视屏播放的
- JDI问题,关于各种EventRequests的suspendpolicy设置
- 一道和魔兽争霸有关的线程题目,有兴趣的来看看
JButton 用MouseListener or MouseAdater来捕获鼠标事件。
回车要实现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是没有内容的
那怎样把输入的信息在lable显示
你的退出按钮添加的事件也不对,我把你的代码修改了下,可以满足你的要求了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);
}
}