zoukankan      html  css  js  c++  java
  • java第五次作业

    作业要求:从硬盘中扫描指定位置的文件再将其显示到图形用户界面,在GUI界面中添加了下拉菜单,列表框,下面是我的代码:

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JScrollPane;
    import javax.swing.event.ChangeEvent;
    public class list {
    public JList fileList;
    public static String[] bmp =new String[20];
    public static String[] gif =new String[20];
    public static String[] jpg =new String[20];
    public static int i=0,j=0,k=0;
    /**
    * @param args
    */
    public static void listenDirectory(File dir) throws IllegalAccessException{
    //判断dir是否存在,使用Fire类的
    if(!dir.exists()){
    //如果不存在,则抛出异常
    throw new IllegalAccessException("目录"+dir+"不存在。");
    }
    //判断dir是否为目录使用Fire类的isdirectory方法
    if(!dir.isDirectory()){
    throw new IllegalArgumentException(dir+"不是目录");
    }

        final File[] files = dir.listFiles();
        for(File file:files){
            if(file.getName().contains("bmp")){    //寻找文件名带有“bmp”的文件
            bmp[i]=dir+"\"+file.getName();        //将带有“bmp”的文件名放入数组中
            i++;}
            if(file.getName().contains("gif")){     //寻找文件名带有“gif”的文件
                gif[j]=dir+"\"+file.getName();     //将带有“gif”的文件名放入数组中
                j++;}
            if(file.getName().contains("jpg")){     //寻找文件名带有“jpg”的文件
                jpg[k]=dir+"\"+file.getName();     //将带有“jpg”的文件名放入数组中
                k++;}

    // System.out.println(file);
    }

        final JFrame frame = new JFrame();
        frame.getContentPane();
        frame.setLayout(new BorderLayout(2,1));
         String[] formats = { "所有格式", "bmp格式", "gif格式", "jpg格式" };
     final JComboBox formatList = new JComboBox(formats);
    final JList fileList = new JList(files);
       fileList.setForeground(new Color(100,88,60));            
       fileList.setBackground(new Color(0,0,0));                 
       fileList.setSelectionBackground(new Color(80,49,134));     
       fileList.setSelectionForeground(new Color(140,71,26));  
       final JScrollPane scrollPane = new JScrollPane(fileList);
       scrollPane.setColumnHeaderView(new JLabel("图片目录"));      
       frame.add(formatList, BorderLayout.NORTH);
       frame.add(scrollPane, BorderLayout.CENTER);
       frame.setVisible(true);
       Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
       frame.setBounds(d.width/2, d.height/2, 250, 400);
       //
       formatList.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e)
             {   if (e.getSource() == formatList)
             {  if(formatList.getSelectedIndex()==0)
             {
             fileList.setListData(files);       //列表框选择所有文件时,显示所有文件
             }
                 if(formatList.getSelectedIndex()==1)
             {
             fileList.setListData(bmp);         //列表框选择“bmp”文件时,显示带“bmp”的文件
             }
                
             if(formatList.getSelectedIndex()==2)
             {
             fileList.setListData(gif);          //列表框选择“gif”文件时,显示带“gif”的文件
             }
             if(formatList.getSelectedIndex()==3)
             {
             fileList.setListData(jpg);           //列表框选择“jpg”文件时,显示带“jpg”的文件
             }
                 }}});
             }
    public static void main(String[] args) {
        try {
            list.listenDirectory(new File("D:\"));
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }}


  • 相关阅读:
    volatile 关键字介绍
    hystrix 线程数,超时时间设置测试
    idea git tag 管理
    wget 认知及常用命令【转载】
    yum 认知及使用
    zuul 性能分析
    java 内存分析
    eureka-8-Eureka 的健康检查
    eureka-7-多网卡下的ip选择
    鼠标拖动div宽/高值增加与减小
  • 原文地址:https://www.cnblogs.com/bandaoruoruo/p/5401673.html
Copyright © 2011-2022 走看看