filepanelimp.java
来自「文件上传的java例子」· Java 代码 · 共 91 行
JAVA
91 行
package wjhk.jupload;import java.io.File;import java.awt.*;import javax.swing.*;import java.awt.dnd.DropTarget;import java.awt.dnd.DropTargetListener;public class FilePanelImp extends Panel implements FilePanel{ //------------- INFORMATION -------------------------------------------- public static final String TITLE = "JUpload DnDListener"; public static final String DESCRIPTION = "FilePanel Implementation."; public static final String AUTHOR = "William JinHua Kwong"; public static final double VERSION = 1.1; public static final String LAST_MODIFIED = "22 January 2004"; //------------- VARIABLES ---------------------------------------------- private DefaultListModel listModel; private JList jlist; private DropTarget dropTarget; private DropTargetListener dtListener; public FilePanelImp(JUploadPanel jup){ this.setLayout(new BorderLayout()); listModel = new DefaultListModel(); jlist = new JList(listModel); JScrollPane listScroll = new JScrollPane(jlist); dropTarget = new DropTarget(jlist, new DnDListener(jup)); this.add(listScroll); } public void addFiles(File[] f){ if(null != f){ for(int i = 0; i < f.length; i++){ addDirectoryFiles(listModel, f[i]); } } } protected void addDirectoryFiles(DefaultListModel dlm, File f){ if(!f.isDirectory()){ addFileOnly(dlm, f); }else{ File[] dirFiles = f.listFiles(); for(int i = 0 ; i < dirFiles.length; i++){ if(dirFiles[i].isDirectory()){ addDirectoryFiles(dlm, dirFiles[i]); }else{ addFileOnly(dlm, dirFiles[i]); } } } } protected void addFileOnly(DefaultListModel dlm, File f){ // Make sure we don't select the same file twice. if(!dlm.contains(f)) dlm.add(dlm.getSize(), f); } public File[] getFiles(){ File[] arrayFiles = new File[listModel.size()]; listModel.copyInto(arrayFiles); return arrayFiles; } public int getFilesLength(){ return listModel.size(); } public void removeSelected(){ for(int i=0; i < listModel.size();){ if(jlist.isSelectedIndex(i)){ listModel.remove(i); }else{ i++; } } } public void removeAll(){ listModel.clear(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?