<原博客>java GUI (列出给定目录下的所有文件名称)

package com.GUI;  
import java.awt.*;  
import java.awt.event.*;  
import java.io.*;  
//  创建一个具有文本框和按钮的  界面;   输入盘符    查到对应的文件;  
public class Lianxi1 {  
  
    public static void main(String[] args) {  
              
        new myLianXi();  
    }  
  
}  
class  myLianXi  
{  
    private Frame  f;  
    private Button bt;  
    private TextField tx;  
    private TextArea ta;  
      
    private  Dialog  d ;  // 创建对话框;  
    private  Label  la;  
    private Button but;  
      
    public myLianXi()  
    {  
        init();  
    }  
    public void init()  
    {  
        f = new Frame("Lainxi");  
        bt =  new Button("转到");  
        tx  = new TextField(30);  
        ta = new TextArea(15,30);  
          
        d  =  new Dialog(f,"提示信息-", true);  
        la = new Label();  
        but = new Button("OK");  
        d.add(la);  
        d.add(but);  
          
          
        f.setSize(500, 400);  
        f.setLocation(600, 300);  
        f.setLayout(new FlowLayout());  
        f.add(tx);  
        f.add(bt);  
        d.setSize(300, 100);  
        d.setLocation(300, 400);  
        d.setLayout(new FlowLayout());  
          
          
        f.add(ta);  
        myEvent();  // 转到 事件;  
        f.setVisible(true);  
          
    }  
      
      
      
      
    public void myEvent()  
    {  
                f.addWindowListener(new WindowAdapter() {  
                    public void windowClosing(WindowEvent e)  
                    {  
                        System.exit(0);  
                    }  
                      
                });  
          
          
                bt.addActionListener(new ActionListener() {  
                      public void actionPerformed(ActionEvent e)  
                      {  
                          
                          ShowDie();  
                      }  
                      
                });  
        d.addWindowListener(new WindowAdapter() {  
            public void windowClosing(WindowEvent e)  
            {  
                d.setVisible(false);  
            }  
              
        });  
          
        but.addActionListener(new ActionListener() {  
              
            public void actionPerformed(ActionEvent e)  
            {  
                d.setVisible(false);  
            }  
              
              
        });  
        but.addKeyListener(new KeyAdapter() {  
            public void keyPressed(KeyEvent e)  
            {  
                if(e.getKeyCode()==KeyEvent.VK_ENTER) {  
                    d.setVisible(false);  
                }  
            }  
              
        });  
          
          
        tx.addKeyListener(new KeyAdapter() {  
            public void keyPressed(KeyEvent e)  
            {  
                if(e.getKeyCode()==KeyEvent.VK_ENTER) {  
                    ShowDie();  
                }  
            }  
              
        });  
          
          
    }  
      
      
    public void ShowDie()  
    {  
          String txt = tx.getText();  // 得到键盘输入的内容;  
//        ta.setText(txt);   // 将内容输入到文本区域中;  
//        tx.setText("");  
            
          File fe = new File(txt);  // 列出指定目录的全部内容;  
          if(fe.exists() && fe.isDirectory())  
          {  
              ta.setText("");  
              String[] name = fe.list();  
              for(String names: name )  
              {  
                 ta.append(names+"\r\n");  
              }   // 获取目录;  
          }  
            // 获取对话框;  
          else  
          {  
              String ss = "您输入的信息"+"\""+txt+"\""+"有误";  
              la.setText(ss);  
              d.setVisible(true);  
          }  
            
            
      }  
      
      
} 

知道目录后,可以列出目录下所属的文件 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; //列出目录下的文件 public class ListFileDemo extends JFrame{ JTextField jtfPath; //路径输入文本域 JTextArea jtfShow; //显示目录下的内容 public ListFileDemo(){ super("列出目录下的文件"); Container container=getContentPane(); //得到容器 jtfPath=new JTextField(16); //实例化路径输入文本框 JButton jbGo=new JButton("转到"); //实例化"转到"按钮 jtfShow=new JTextArea(); //实例化显示内容文本框 jtfPath.addActionListener(new ShowDirListener()); //增加事件处理 jbGo.addActionListener(new ShowDirListener()); JPanel panel=new JPanel(); //实例化面板,用于增加路径输入和按钮 panel.add(jtfPath); panel.add(jbGo); container.add(panel,BorderLayout.NORTH); //增加组件到容器 JScrollPane jsp=new JScrollPane(jtfShow); jsp.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //设置边界 container.add(jsp,BorderLayout.CENTER); setSize(300,200); //设置窗口尺寸 setVisible(true); //设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 } class ShowDirListener implements ActionListener { //取得目录内容的事件处理 public void actionPerformed(ActionEvent event) { showDirContent(jtfPath.getText()); //调用显示目录内容方法 } } public void showDirContent(String path){ //该方法实现取得目录内容 File file=new File(path); //用路径实例化一个文件对象 File[] files=file.listFiles(); //重点:取得目录内所有文件列表 StringBuffer message=new StringBuffer(); //实例化一个StringBuffer,用于处理显示的字符串 message.append(path); //增加信息 message.append(" 内容如下:\n"); for (int i=0;i<files.length;i++){ if (files[i].isDirectory()){ //如果这是一个目录 message.append("<dir>\t"); //增加目录标识 } else{ message.append("\t"); } message.append(files[i].getName()); //增加文件或目录名 message.append("\n"); } jtfShow.setText(new String(message)); //显示消息 } public static void main(String[] args){ new ListFileDemo(); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值