简单实现在文本框里输入路径,在文本区域显示文件

//此程序实现了在文本框输入有效路径,按回车或者转到按钮后,在文本区域将列出所在路径的文件。
//但是最好将Dialog提示框在else(路径不正确)的时候才创建,不要一打开软件就创建。
//TextField 文本框  TextArea文本区域  Dialog提示窗口 Label提示窗口的文字信息  
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class  AwtTest1
{
	private Frame f;
	private Button b;
	private TextField tf;
	private TextArea ta;
	private Dialog d;
	private Label l;
	private Button b1;
	AwtTest1()
	{
		init();
	}
	public void init()
	{
		f=new Frame("魔兽世界");
		b=new Button("转到");
		tf=new TextField(60);
		ta=new TextArea(25,70);
		d=new Dialog(f,"WoW-Error",true);//添加窗体,参数信息分别是1.与哪个窗口相关联,2.窗口标题3.如果是true则必须先操作窗口,才能操作后面的
		b1=new Button("确定");
		l=new Label();//提示窗口文字信息,不是标题。
		d.setBounds(450,300,300,100);//设置窗口大小
		d.setLayout(new FlowLayout());
		d.add(l);
		d.add(b1);//窗口添加按钮,必须写在添加文字信息后面否则不显示。
		f.setBounds(300,100,600,600);
		f.setLayout(new FlowLayout());
		f.add(tf);
		f.add(b);
		f.add(ta);
		myEvent();
		f.setVisible(true);

	}
	private void myEvent()
	{
		b1.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				d.setVisible(false);
			}
		});
		d.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				d.setVisible(false);//加入提示窗口监听,但是不能关闭整个软件,只需关系提示窗口
			}
		});
		b.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				showDir();
			}
		});
		tf.addKeyListener(new KeyAdapter()
		{
			public void keyPressed(KeyEvent e)
			{
				if(e.getKeyCode()==KeyEvent.VK_ENTER)
				{
					showDir();
				}
			}
		});
		/*b.addKeyListener(new KeyAdapter()
		{
			public void keyPressed(KeyEvent e)
			{
				if(e.getKeyCode()==KeyEvent.VK_ENTER)
				{
					showDir();
				}
			}
		});   在转到按钮上加入键盘监听器不是很好,因为必须先选到按钮,就是按钮上有虚框,此时按回车才有效
		      没有在文本框加入键盘监听器好!!!!!*/   
		f.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});
	}
	private void showDir()//列出文件目录
	{
		String s=tf.getText();
		File f=new File(s);
		if (f.exists()&&f.isDirectory())
		{
			ta.setText("");
			String names[]=f.list();
			for(String name:names)
			{
				ta.append(name+"\r\n");
			}
		}
	
		else
		{
			l.setText("找不到'file:///"+tf.getText()+"'.请确认路径或Intert地址正确。");
			d.setVisible(true);
		}

	}
	public static void main(String[] args) 
	{
		new AwtTest1();
	}
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值