Java基础-列出指定目录内容和对话框(Dialog)


列出指定目录内容和对话框  演示代码:

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class code
{
	public static void main(String[] args) {
		new myWindow();
	}
}

class myWindow
{
	private Frame f;
	private TextField tf;
	private Button but;
	private TextArea ta;
	
	private Dialog d;//对话框
	private Label lab;
	private Button okbut;
	
	public myWindow() {
		init();
	}
	
	public void init() {
		f = new Frame("my window");
		f.setBounds(300,100,600,500);
		f.setLayout(new FlowLayout());
		
		tf = new TextField(60);//只有一行可写
		but = new Button("转到");
		ta = new TextArea(25,70);//是一个区域,可以有很多行
		
		d = new Dialog(f,"提示信息",true);//窗体,true才可操作窗体
		d.setBounds(500,300,300,100);
		d.setLayout(new FlowLayout());
		lab = new Label();//构造空标签
		okbut = new Button("确定");
		
		d.add(lab);
		d.add(okbut);
		
		f.add(tf);
		f.add(but);
		f.add(ta);
		
		myEvent();
		f.setVisible(true);//显示	
	}
	//处理事件
	private void myEvent() {
		//确定按钮
		okbut.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				d.setVisible(false);
			}
		});
		
		//对话框事件
		d.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				d.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();
			}
		});
		//关闭窗口
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}
	
	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");//显示全部
				//ta.setText();//显示一个
			}
		}
		//tf.setText(dirpath);
		//System.out.println(text);
		//tf.setText("");
		else {
			String info = "您输入的信息:"+dirpath+"是错误的,请重新输入";
			lab.setText(info);
			d.setVisible(true);
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值