黑马程序员-GUI文件浏览器

---------------------- android培训java培训、期待与您交流! ----------------------

 

黑马程序员-GUI文件浏览器

 

/*定义一个窗口,列出指定目录中内容

 *具有错误提示对话框

 * 

 * */

 

import java.awt.*;

import java.awt.event.*;

import java.io.*;

class MywindowDemo

{

//定义图形中所需组件的引用

private Frame f;

private Button but,okbut;

private TextField tf;

private TextArea ta;

private Dialog d;

private Label lab;

MywindowDemo()

{

init();

}

public void init()

{

//Frame 是带有标题和边框的顶层窗口。

f=new Frame("my frame");

//对frame进行尺寸设置。

f.setBounds(300,100,600,500);

//设置布局

f.setLayout(new FlowLayout());

//创建文本框,TextField 对象是允许编辑单行文本的文本组件。

tf=new TextField(60);

//转到按钮

but=new Button("转到");

//TextArea 对象是显示文本的多行区域。可以将它设置为允许编辑或只读。

ta=new TextArea(25,70);

// Dialog 是一个带标题和边界的顶层窗口,边界一般用于从用户处获得某种形式的输入。

d=new Dialog(f,"提示信息-self",true);

//设置对话框尺寸

d.setBounds(400,200,240,150);

//设置对话框布局

d.setLayout(new FlowLayout());

//Label 对象是一个可在容器中放置文本的组件。

lab=new Label();

//创建确定按钮

okbut=new Button("确定");

//将组建添加进frame中。

f.add(tf);

f.add(but);

f.add(ta);

d.add(lab);

d.add(okbut);

//加载窗体事件。

myEvent();

//显示窗体。

f.setVisible(true);

}

private void myEvent()

{

//WindowListener用于接收窗口事件的侦听器接口。

 

//因为该接口中方法较多,而我们现在只用到一个,如果实现他覆盖全部方法很麻烦。

//所以我们找到他的子类,WindowAdapter窗口监听适配器。

//特点:接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。

//我们用匿名内部类的方式实现他,然后复写他的关闭方法。

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

 

}

});

//转到按钮活动监听

but.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

showd();

}

});

//窗口监听

d.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

//关闭对话框

d.setVisible(false);

 

}

});

//按钮控制对话框关闭

okbut.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

//System.out.println("按钮");

//关闭对话框

d.setVisible(false);

}

});

//键盘输入转到。

tf.addKeyListener(new KeyAdapter()

{

public void keyPressed(KeyEvent e)

{

//判断输入的键值等于enter键的值

if(e.getKeyCode()==KeyEvent.VK_ENTER)

{

showd();

}

}

});

}

//转到按钮实现功能。

private void showd()

{

//获取在Textfield文本框中输入的地址。

String dirPath=tf.getText();

//将地址封装成对象。

File dir=new File(dirPath);

//判断地址对象是否存在和是不是目录。

if(dir.exists() && dir.isDirectory())

{

//清屏,即在开始存入空字符,setText将会替换原有内容。

ta.setText("");

//创建字符串数组,存放目录列表

String[] names=dir.list();

//遍历列表,将列表存入

for(String name : names)

{

//使用append方法存入,追加方法。

ta.append(name+"\r\n");

}

}

else

{

//定义报错提示内容。

String info="你输入的"+dirPath+"有误";

//把内容定义到对话框中。

lab.setText(info);

//显示对话框

d.setVisible(true);

}

}

}

public class GUI2 

{

public static void main(String[] args)

{

new MywindowDemo();

}

 

 

 

}

 

 

----------------------  android培训 java培训 、期待与您交流! ----------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值