代码如下:
/*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; class MyWindowDemo { private Frame f; private TextField tf; private Button but; private TextArea ta; MyWindowDemo() { init(); } public void init() { f = new Frame("by 星云");//创建窗体对象 f.setBounds(300, 100, 600, 500);//设置窗体位置和大小 f.setLayout(new FlowLayout());//设置窗体布局为流式布局 tf = new TextField(60);//创建单行文本对象60长度大小字符 but = new Button("转到");//创建按钮对象 ta = new TextArea(25, 70);//创建多行文本对象25行,70列 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) { String dirPath=tf.getText();//获取单行文本内容保存到字符串dirPath中 File dir=new File(dirPath);//将字符串dirPath封装成文件 //如果文件存在,而且是个目录执行下列操作 if(dir.exists() &&dir.isDirectory()) { ta.setText(null);//没打开一个目录前清空多行文本内容 String[] names=dir.list();//文件目录列表存放到字符数组中 for(String name :names) { ta.append(name+"\r\n");//追加文本内容并换行 } } } }); //窗体关闭监听器 f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String[] args){ new MyWindowDemo(); } }
程序截图: