Java by API/javax.swing.filechooser/FileView

Материал из Java эксперт
Перейти к: навигация, поиск

extends FileView

   <source lang="java">

import java.awt.Color; import java.awt.ruponent; import java.awt.Graphics; import java.io.File; import javax.swing.Icon; import javax.swing.JFileChooser; import javax.swing.filechooser.FileView; public class MainClass {

 public static void main(String[] a) {
   JFileChooser fileChooser = new JFileChooser(".");
   FileView view = new JavaFileView();
   fileChooser.setFileView(view);
   int status = fileChooser.showOpenDialog(null);
   if (status == JFileChooser.APPROVE_OPTION) {
     File selectedFile = fileChooser.getSelectedFile();
     System.out.println(selectedFile.getParent());
     System.out.println(selectedFile.getName());
   } else if (status == JFileChooser.CANCEL_OPTION) {
     System.out.println("JFileChooser.CANCEL_OPTION");
   }
 }

} class JavaFileView extends FileView {

 Icon javaIcon = new MyIcon(Color.BLUE);
 Icon classIcon = new MyIcon(Color.GREEN);
 Icon htmlIcon = new MyIcon(Color.RED);
 Icon jarIcon = new MyIcon(Color.PINK);
 public String getName(File file) {
   String filename = file.getName();
   if (filename.endsWith(".java")) {
     String name = filename + " : " + file.length();
     return name;
   }
   return null;
 }
 public String getTypeDescription(File file) {
   String typeDescription = null;
   String filename = file.getName().toLowerCase();
   if (filename.endsWith(".java")) {
     typeDescription = "Java Source";
   } else if (filename.endsWith(".class")) {
     typeDescription = "Java Class File";
   } else if (filename.endsWith(".jar")) {
     typeDescription = "Java Archive";
   } else if (filename.endsWith(".html") || filename.endsWith(".htm")) {
     typeDescription = "Applet Loader";
   }
   return typeDescription;
 }
 public Icon getIcon(File file) {
   if (file.isDirectory()) {
     return null;
   }
   Icon icon = null;
   String filename = file.getName().toLowerCase();
   if (filename.endsWith(".java")) {
     icon = javaIcon;
   } else if (filename.endsWith(".class")) {
     icon = classIcon;
   } else if (filename.endsWith(".jar")) {
     icon = jarIcon;
   } else if (filename.endsWith(".html") || filename.endsWith(".htm")) {
     icon = htmlIcon;
   }
   return icon;
 }

} class MyIcon implements Icon {

 Color myColor;
 public MyIcon(Color myColor) {
   this.myColor = myColor;
 }
 public int getIconWidth() {
   return 16;
 }
 public int getIconHeight() {
   return 16;
 }
 public void paintIcon(Component c, Graphics g, int x, int y) {
   g.setColor(myColor);
   g.drawRect(0, 0, 16, 16);
 }

}

      </source>