以下代码是实现 当按回车就弹出一个对话框,显示刚才按回车前键盘所输入的字符。
但是明明加了“窗口事件的侦听器接口”(红色部分),还是是关闭不了对话框。
不知道是为什么?
请高手指点下。
import java.awt.*;
import java.awt.event.*;
import java.lang.StringBuffer;
public class AdapterDemo extends Frame{
private Dialog dialog;
private Label label;
private StringBuffer sb; public AdapterDemo(String title){
super(title); dialog=new Dialog(this,"Note",true);
label=new Label();
dialog.add(label);
dialog.setSize(200,150); requestFocus();
sb=new StringBuffer();
addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
char key=e.getKeyChar();
sb.append(e.getKeyChar());
while(e.getKeyChar()=='\n'){
label.setText("the user enter the :"+sb);
dialog.setVisible(true);
}
}
});
dialog.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dialog.dispose();
}
});
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}); setSize(300,300);
setVisible(true);
}
public static void main(String args[]){
new AdapterDemo("hi");
}
}
但是明明加了“窗口事件的侦听器接口”(红色部分),还是是关闭不了对话框。
不知道是为什么?
请高手指点下。
import java.awt.*;
import java.awt.event.*;
import java.lang.StringBuffer;
public class AdapterDemo extends Frame{
private Dialog dialog;
private Label label;
private StringBuffer sb; public AdapterDemo(String title){
super(title); dialog=new Dialog(this,"Note",true);
label=new Label();
dialog.add(label);
dialog.setSize(200,150); requestFocus();
sb=new StringBuffer();
addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
char key=e.getKeyChar();
sb.append(e.getKeyChar());
while(e.getKeyChar()=='\n'){
label.setText("the user enter the :"+sb);
dialog.setVisible(true);
}
}
});
dialog.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dialog.dispose();
}
});
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}); setSize(300,300);
setVisible(true);
}
public static void main(String args[]){
new AdapterDemo("hi");
}
}
解决方案 »
- 问个问题
- 请问jfreechart的X时间轴可以出现2条吗?
- 关于 class.forname 问题 谢谢
- java.lang.NullPointerException 错误!
- 急急急急急......在线等待!!!!!!!!!!!!各位大哥帮帮忙....
- swt调用mediaplayer 10的问题
- 怎样制作一个java界面,里面有一个文本框用来编译java源程序
- System.out.print("如何打印出汉字?");
- 关于java和html?
- 求大神,用JAVA绘制正弦函数波形,向x轴右侧不断移动
- 如何获取光标在JTextArea中准确的行和列的位置
- 求一个Java线程问题,大哥们指导一下
楼主【Jo_Cai】截止到2008-06-28 14:19:44的历史汇总数据(不包括此帖):
发帖数:6 发帖分:120
结贴数:5 结贴分:100
未结数:1 未结分:20
结贴率:83.33 % 结分率:83.33 %
楼主加油
但是这几句代码不是实现了关闭对话框的功能吗?
public void windowClosing(WindowEvent e){
dialog.dispose();
}
label.setText("the user enter the :"+sb);
dialog.setVisible(true);
}
//这段代码一直在把dialog设置为可见的.....
//把while改成if就行了
CSDN这论坛太好了~!
^_^
while(e.getKeyChar()=='\n'){
label.setText("the user enter the :"+sb);
dialog.setVisible(true);
你按了回车之后那个值就停在那里了。你可以改成其它的,如IF……