---------------------------------------- android培训、java培训、期待与您交流! ------------------------------------
需求:创建窗体,列出硬盘上指定文件夹的内容,如果该目录不存在,则弹出对话框,提示用户错误
主要涉及到的知识点:
1,需要用到窗体的基本知识Frame的配置,
2,文本框和文本区域,TextField & TextArea
3,对话框Dialog
4,各组件对应的监听器,内部类
5,IO流
实现过程:
import java.awt.*;
import java.awt.event.*;//事件包
import java.io.*;
class MyWindow
{
private Frame f;//窗体组件
private Button but;
private TextField tf;
private TextArea ta;
private Dialog d;//对话框组件
private Label lab;
private Button okBut;
MyWindow(){
init();
}
public void init()
{
f = new Frame("My Window");//窗体组件
f.setBounds(300,200,600,400);
f.setLayout(new FlowLayout());
tf = new TextField(60);//文本框
but = new Button("转到");//按钮
ta = new TextArea(20,78);//文本区域
d = new Dialog(f,"提示信息",true);//对话框,类似于窗体,是与窗体关联的触发机制
d.setBounds(300,200,350,150);
d.setLayout(new FlowLayout());
lab = new Label();
okBut = new Button("OK");
d.add(lab); //添加对话框组件
d.add(okBut);
f.add(tf);//添加窗体组件
f.add(but);
f.add(ta);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
but.addActionListener(new ActionListener(){//文本框和文本区域监听处理
public void actionPerformed(ActionEvent e){
showDir();
}
});
f.addWindowListener(new WindowAdapter(){//窗体事件,关闭
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
tf.addKeyListener(new KeyAdapter(){//文本框键盘监听,Enter,同按钮功能
public void keyPressed(KeyEvent e){
if(e.getKeyCode() == KeyEvent.VK_ENTER)
showDir();
}
});
d.addWindowListener(new WindowAdapter(){ //对话框事件,关闭对话框
public void windowClosing(WindowEvent e){
tf.setText("");
d.setVisible(false);//点击后隐藏窗体
}
});
okBut.addActionListener(new ActionListener(){//对话框的按钮事件监听,点OK按钮退出对话框
public void actionPerformed(ActionEvent e){
d.setVisible(false);
}
});
}
private void showDir()//封装文本框策略
{
String dirPath = tf.getText();//接收文本框文本
File dir = new File(dirPath);//将输入的路径封装
if(dir.exists() && dir.isDirectory()){//如果存在并且是目录
ta.setText("");//每次在文本框输入后清空文本区域
String[] names = dir.list();//获取该路径
for (String name:names){ //遍历
ta.append(name+"\r\n");
}
}
else{//如果不存在,或者不是目录
String info = "没有找到路径:"+dirPath+" 请重新输入";
lab.setText(info);//设置标签内容
d.setVisible(true);//当不满足条件时才弹出对话框
}
}
public static void main(String[] args)
{
new MyWindow();
}
}
运行效果:
Dialog对话框:
在触发某一事件时弹出对话框提醒用户
创建时需要关联窗体,方法与窗体类似可以添加按钮,设置标签Label,通过setVisible(boolean b);来控制弹出和消失
---------------------------------------- android培训、java培训、期待与您交流! ------------------------------------