Test__GUI__列出指定目录内容

 ---------------------------------------- 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培训、期待与您交流! ------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章