/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* MainWin.java
*
* Created on 29.10.2010, 14:47:41
*/
package at.redeye.FindDup;
import at.redeye.FindDup.SearchThread.STATE;
import at.redeye.FrameWork.Plugin.AboutPlugins;
import at.redeye.FrameWork.base.AutoLogger;
import at.redeye.FrameWork.base.BaseDialog;
import at.redeye.FrameWork.base.Root;
import at.redeye.FrameWork.base.Setup;
import at.redeye.FrameWork.base.desktoplauncher.DesktopLauncher;
import at.redeye.FrameWork.base.desktoplauncher.DesktopLauncher2;
import at.redeye.FrameWork.base.prm.impl.gui.LocalConfig;
import at.redeye.FrameWork.utilities.StringUtils;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
/**
*
* @author moberza
*/
public class MainWin extends BaseDialog {
private static final String SELECTED_VIDEO = "SelectedVideos";
private static final String SELECTED_AUDIO = "SelectedAudio";
private static final String SELECTED_IMAGES = "SelectedImages";
private static final String SELECTED_OFFICE = "SelectedOffice";
private static final String SELECTED_ALL = "SelectedAll";
private static final String SELECTED_MASK = "SelectedMask";
private static final String SELECTED_SYSPATHS = "SelectedSysPaths";
private static final String SELECTED_ROOTS = "SelectedRoots";
private String MESSAGE_NO_DESKTOP_ICON;
private String MESSAGE_PROGRESS;
SearchThread search_thread = null;
ImageLoaderThread image_loader;
boolean clean_up_started = false;
public MainWin(Root root)
{
super(root, root.getAppTitle());
initComponents();
helper.autoRefreshTimer.schedule(helper.autoRefreshTask, 500, 500);
jLProgress.setText("");
jListErg.setCellRenderer(new ImageCellRenderer());
image_loader = new ImageLoaderThread(root,jListErg);
jCall.setSelected( StringUtils.isYes(root.getSetup().getLocalConfig(SELECTED_ALL, "false")) );
jCimages.setSelected( StringUtils.isYes(root.getSetup().getLocalConfig(SELECTED_IMAGES, "true")) );
jCvideo.setSelected( StringUtils.isYes(root.getSetup().getLocalConfig(SELECTED_VIDEO, "true")) );
jCMusic.setSelected( StringUtils.isYes(root.getSetup().getLocalConfig(SELECTED_AUDIO, "true")) );
jCoffice.setSelected( StringUtils.isYes(root.getSetup().getLocalConfig(SELECTED_OFFICE, "true")) );
jCsystemPaths.setSelected( StringUtils.isYes(root.getSetup().getLocalConfig(SELECTED_SYSPATHS, "true")) );
jTFileendings.setText(root.getSetup().getLocalConfig(SELECTED_MASK, ""));
drivePanel.showSystemDrives(!jCsystemPaths.isSelected());
drivePanel.setSelectedDirs(root.getSetup().getLocalConfig(SELECTED_ROOTS, drivePanel.getDirsAsString()));
if( jTFileendings.getText().trim().isEmpty() )
updateFileendings();
new AutoLogger(MainWin.class.getName()) {
@Override
public void do_stuff() throws Exception {
updateErgList(readLastResult());
}
};
initMessages();
if (!DesktopLauncher.canCreateDesktopIcon())
{
jMCreateDesktopIcon.setVisible(false);
}
else
{
jMCreateDesktopIcon.setEnabled(false);
}
}
private void initMessages() {
if (MESSAGE_NO_DESKTOP_ICON != null) {
return;
}
MESSAGE_NO_DESKTOP_ICON = MlM("Das Desktopicon konnte leider nicht erzeugt werden.");
MESSAGE_PROGRESS = MlM("Fortschritt:");
}
@Override
public void doAutoRefresh()
{
if( search_thread == null )
{
jBSearch.setText(MlM("Suche Starten"));
}
else if( search_thread.isAlive() )
{
STATE thread_state = search_thread.getCurrentState();
switch( thread_state )
{
case IDLE:
case SEARCHING_FOR_FILES:
jLProgress.setText(String.format(MlM("%d Dateien gefunden"), search_thread.getNumOfFiles() ) );
break;
case DONE:
setWaitCursor(false);
case ANALYSING_FILES:
jLProgress.setText(String.format(MlM("%d Dateien gleichen sich"), search_thread.getNumOfEqualFiles() ) );
break;
}
jBSearch.setText(MlM("Suche Abbrechen"));
}
else
{
final Map<String, List<FileEntry>> equalFilesByMD5 = search_thread.getEqualFilesByMD5();
updateErgList(equalFilesByMD5);
jLProgress.setText(String.format(MlM("%d gleiche Dateien gefunden"), search_thread.getNumOfEqualFiles() ) );
search_thread = null;
new AutoLogger(MainWin.class.getName()) {
@Override
public void do_stuff() throws Exception {
saveResult(equalFilesByMD5);
if( !clean_up_started )
{
CleanUpThread clean_up = new CleanUpThread(root);
clean_up.start();
clean_up_started = true;
}
}
};
setWaitCursor(false);
}
if( search_thread != null )
jLInfo.setText( MESSAGE_PROGRESS + " " + search_thread.getProgressInfo() );
else
jLInfo.setText(MESSAGE_PROGRESS);
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jBSearch = new javax.swing.JButton();
jLProgress = new javax.swing.JLabel();
drivePanel = new at.redeye.FindDup.DrivePanel(root);
jPanel1 = new javax.swing.JPanel();
jTFileendings = new javax.swing.JTextField();
jCimages = new javax.swing.JCheckBox();
jCvideo = new javax.swing.JCheckBox();
jCMusic = new javax.swing.JCheckBox();
jCoffice = new javax.swing.JCheckBox();
jCall = new javax.swing.JCheckBox();
jCsystemPaths = new javax.swing.JCheckBox();
jPanel2 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jListErg = new javax.swing.JList();
jScrollPane2 = new javax.swing.JScrollPane();
jLInfo = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMSettings = new javax.swing.JMenuItem();
jMCreateDesktopIcon = new javax.swing.JMenuItem();
jMQuit = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMAbout = new javax.swing.JMenuItem();
jMChangeLog = new javax.swing.JMenuItem();
jMPlugin = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jBSearch.setText("Suche Starten");
jBSearch.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBSearchActionPerformed(evt);
}
});
jLProgress.setText("XXX");
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Dateiendungen"));
jTFileendings.setText("*.mp3 *.jpg *.jpeg");
jTFileendings.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTFileendingsActionPerformed(evt);
}
});
jCi
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java的重复文件检查工具 FindDup.zip
共29个文件
java:22个
form:3个
xcf:1个
5星 · 超过95%的资源 1 下载量 53 浏览量
2023-06-17
14:29:48
上传
评论 1
收藏 97KB ZIP 举报
温馨提示
基于Java的重复文件检查工具 FindDup.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于Java的重复文件检查工具 FindDup.zip (29个子文件)
FindDup
at
redeye
FindDup
AppConfigDefinitions.java 2KB
LocalHelpWin.java 432B
ImageCache.java 2KB
lib
FileFoundInterface.java 316B
ListAllFiles.java 423B
FileExtFilter.java 2KB
SearchForFiles.java 2KB
ImageCellRenderer.java 921B
ImageLoaderThread.java 4KB
resources
Help
ChangeLog.html 1KB
translations
MainWin_en.properties 986B
images
FindDup.xcf 158KB
FindDup.png 23KB
ModuleLauncher.java 3KB
FileEntry.java 1KB
SearchThread.java 7KB
DisplayEntry.java 2KB
CleanUpThread.java 857B
MainWin.form 17KB
DefaultWidth.java 2KB
About.form 5KB
ImageLoader.java 336B
ActionPopup.java 6KB
DrivePanel.java 8KB
Main.java 411B
DrivePanel.form 2KB
MainWin.java 28KB
About.java 4KB
Version.java 271B
共 29 条
- 1
资源评论
- 易小侠2023-06-30很不错的资源,给我很大帮助 #完美解决问题 #运行顺畅 #内容详尽 #全网独家 #注释完整
毕业课程设计
- 粉丝: 2257
- 资源: 1649
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功