黑马程序员技术交流社区
标题:
Io 之对话框疑问
[打印本页]
作者:
凝聚
时间:
2013-11-26 15:18
标题:
Io 之对话框疑问
本帖最后由 凝聚 于 2013-11-26 19:29 编辑
package twenty_two;
import java.awt.*;
import java.io.*;
import java.awt.event.*;
public class Ten {
public static void main(String[] args) {
new Mwinn();
}
}
class Mwinn
{
private Frame f;
private TextField tf;
private Button but;
private Button okbut;
private TextArea ta;
private Label lae;
private Dialog dg;
Mwinn()
{
init();
}
public void init()
{
f=new Frame("中");
f.setBounds(300,200,500,999);
f.setLayout(new FlowLayout());
tf=new TextField(30);
but=new Button("转到");
ta=new TextArea(15,40);
dg=new Dialog(f,"提示信息—self",true);
dg.setBounds(500,200,300,160);
dg.setLayout(new FlowLayout());
lae=new Label();
okbut=new Button("确定");
dg.add(lae);
dg.add(okbut);
f.add(tf);
f.add(but);
f.add(ta);
mevent();
f.setVisible(true);
}
private void mevent()
{
okbut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dg.setVisible(false);
}});
tf.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==KeyEvent.VK_ENTER);
showDir();
}
});
but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
showDir();
}
});
dg.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dg.setVisible(false);
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
private void showDir()
{
String dirPath=tf.getText();
File dir=new File(dirPath);//D:\\java\\workspace\\heima\\src\\twenty_two
if(dir.exists()&&dir.isDirectory())
{
ta.setText("");//不加它两次目录的东西都会存在。
String[]names=dir.list();
for(String name :names)
{
ta.append(name+"\r\n");//将所有的文件都输出来。
}
}
else
{
String info="您的路径为:"+ dirPath+"这是错误的路径";
lae.setText(info);
dg.setVisible(true);
}
}
}
这段程序运行后,我在对话框中粘贴一个路径,可以运行,但自己写一个路径,(“没等我写完路径”)就会弹出错误提示,这是怎么回事?
作者:
王贺
时间:
2013-11-26 16:22
楼主代码有误,多了一段代码:
tf.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==KeyEvent.VK_ENTER);
showDir();
}
});
这段代码楼主监听了tf的输入状态,所以当你输入以个字符马上触发事件,所以不会让你输入完就报错,
解决完毕,呵呵
作者:
凝聚
时间:
2013-11-26 16:33
可是这段代码试管,当按下enter见时触发弹出事件,或吧输入的字符输入到下面的框中。 所以这段代码不能丢啊!
作者:
tczct6
时间:
2013-12-12 23:14
标题:
向楼主敬礼,呵呵,好样
我是来刷墙的
防辐射孕妇装
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2