package org.javahash.gui.util;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.dnd.DropTarget;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import org.apache.commons.lang.StringUtils;
import org.javahash.gui.Button;
import org.javahash.gui.CalculateButton;
import org.javahash.gui.ChooseFileButton;
import org.javahash.gui.ClearButton;
import org.javahash.gui.ComboBox;
import org.javahash.gui.FileChooser;
import org.javahash.gui.JavaHashFrame;
import org.javahash.gui.Label;
import org.javahash.gui.MenuItem;
import org.javahash.gui.ProgressBar;
import org.javahash.gui.TextField;
import org.javahash.gui.UIManager;
import org.javahash.gui.config.Config;
import org.javahash.gui.listener.TextFieldDropTargetListener;
import org.javahash.hash.AbstractHash;
import org.javahash.hash.Hash;
import org.javahash.hash.HashFactory;
import org.javahash.util.IOUtil;
public class GuiUtil {
public static final String VERSION = "1.0.7";
public static final String CALCULATE = "Calculate";
public static final String STOP_CALCULATE = "Stop Calculate";
public static final String PAUSE_CALCULATE = "Pause Calculate";
public static final String CONTINUE_CALCULATE = "Continue Calculate";
public static final int TEXT_FIELD_WIDTH = 389;
public static final int FILE_NAME_TEXT_FIELD_WIDTH = 266;
public static final int COMBO_BOX_HEIGHT = 24;
public static final int TEXT_FIELD_HEIGHT = 24;
public static final int PROGRESS_BAR_HEIGHT = 24;
public static final int BUTTON_HEIGHT = 30;
private static Clipboard clipboard = null;
private static MenuItem calculateMenuItem = null;
private static MenuItem pauseCalculateMenuItem = null;
private static MenuItem copyHashMenuItem = null;
private static MenuItem compareMenuItem = null;
private static MenuItem clearMenuItem = null;
private static ComboBox hashTypeComboBox = null;
private static TextField fileNameTextField = null;
private static ProgressBar progressBar = null;
private static Label hashLabel = null;
private static TextField hashTextField = null;
private static TextField compareTextField = null;
private static Button chooseFileButton = null;
private static Button calculateButton = null;
private static Button copyHashButton = null;
private static Button clearButton = null;
private static FileChooser fileChooser = null;
private static Map<String, Hash> hashMap = new HashMap<String, Hash>();
private static CalculateThread calcuateThread = null;
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
static {
try {
clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
} catch(Exception e) {
e.printStackTrace();
}
}
private GuiUtil() {
// Do nothing
}
public static Clipboard getClipboard() {
return clipboard;
}
public static MenuItem getCalculateMenuItem() {
if(calculateMenuItem == null) {
calculateMenuItem = new MenuItem(GuiUtil.CALCULATE);
calculateMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
if(GuiUtil.CALCULATE.equals(ae.getActionCommand())) {
GuiUtil.calculate();
} else {
GuiUtil.stopCalculate();
}
}
});
}
return calculateMenuItem;
}
public static MenuItem getCalculateMenuItem2() {
return new MenuItem(GuiUtil.CALCULATE);
}
public static MenuItem getPauseCalculateMenuItem() {
if(pauseCalculateMenuItem == null) {
pauseCalculateMenuItem = new MenuItem(GuiUtil.PAUSE_CALCULATE);
pauseCalculateMenuItem.setEnabled(false);
pauseCalculateMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
if(GuiUtil.PAUSE_CALCULATE.equals(ae.getActionCommand())) {
GuiUtil.pauseCalculate();
} else {
GuiUtil.continueCalculate();
}
}
});
}
return pauseCalculateMenuItem;
}
public static MenuItem getCopyHashMenuItem() {
if(copyHashMenuItem == null) {
copyHashMenuItem = new MenuItem("Copy " + GuiUtil.getHashType());
copyHashMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
GuiUtil.copyHash();
}
});
}
return copyHashMenuItem;
}
public static MenuItem getCompareMenuItem() {
if(compareMenuItem == null) {
compareMenuItem = new MenuItem("Compare");
compareMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
GuiUtil.compare();
}
});
}
return compareMenuItem;
}
public static MenuItem getClearMenuItem() {
if(clearMenuItem == null) {
clearMenuItem = new MenuItem("Clear");
clearMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
GuiUtil.clear();
}
});
}
return clearMenuItem;
}
public static ComboBox getHashTypeComboBox() {
if(hashTypeComboBox == null) {
hashTypeComboBox = new ComboBox(Config.getHashTypes(),
new Dimension(389, COMBO_BOX_HEIGHT), Config.getDefaultHashType());
hashTypeComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
getHashLabel().setText(getHashLabelText());
getCopyHashButton().setText(getCopyHashButtonText());
getCopyHashMenuItem().setText(getCopyHashButtonText());
}
});
}
return hashTypeComboBox;
}
public static String getHashType() {
return getHashTypeComboBox().getSelectedItem().toString();
}
public static TextField getFileNameTextField() {
if(fileNameTextField == null) {
fileNameTextField = new TextField(new Dimension(
FILE_NAME_TEXT_FIELD_WIDTH, TEXT_FIELD_HEIGHT));
fileNameTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent ke) {
super.keyReleased(ke);
if(ke.getKeyCode() == 10) { // Enter key pressed
GuiUtil.stopAndCalculate();
}
}
});
new DropTarget(fileNameTextField,
new TextFieldDropTargetListener(fileNameTextField));
}
return fileNameTextField;
}
public static String getFileName() {
return getFileNameTextField().getText();
}
public static void setFileName(String fileName) {
getFileNameTextField().setText(fileName);
}
public static void setFileName(final File file) {
getFileNameTextField().setText(file);
}
public static ProgressBar getProgressBar() {
if(progressBar == null) {
progressBar = new ProgressBar(new Dimension(
TEXT_FIELD_WIDTH, GuiUtil.PROGRESS_BAR_HEIGHT));
}
return progressBar;
}
public static Label getHashLabel() {
if(hashLabel == null) {
hashLabel = new Label(getHashLabelText(), getHashTextField());
}
return hashLabel;
}
public static String getHashLabelText() {
return getHashType() + ":";
}
public static TextField getHashTextField() {
if(hashTextField == null) {
hashTextField = new TextField();
hashTextField.setEditable(false);
}
return hashTextField;
}
public static String getHash() {
return getHashTextField().getText();
}
public static void setHash(String hash) {
getHashTextField().setText(hash);
}
public static TextField getCompareTextField() {
if(compareTextField == null) {
compareTextField = new TextField();
}
return compareTextField;
}
public static String getCompare() {
return getCompareTextField().ge
没有合适的资源?快使用搜索试试~ 我知道了~
哈希计算工具 java-hash.7z
共59个文件
java:58个
jar:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 185 浏览量
2022-07-06
13:27:20
上传
评论
收藏 267KB 7Z 举报
温馨提示
哈希计算工具 java-hash.7z
资源推荐
资源详情
资源评论
收起资源包目录
哈希计算工具 java-hash.7z (59个子文件)
哈希计算工具 java-hash
src
org
javahash
util
IOUtil.java 315B
gui
CommandPanel.java 1KB
Menu.java 366B
ClearButton.java 465B
config
Config.java 6KB
Button.java 652B
TextFieldPopupMenu.java 2KB
MenuBar.java 5KB
Label.java 1024B
HashTypeMenuItem.java 907B
FormFieldPanel.java 781B
ComboBox.java 1KB
TextField.java 2KB
RadioButtonMenuItem.java 329B
JavaHashFrame.java 1017B
Panel.java 269B
CompareButton.java 470B
ProgressBar.java 899B
LookAndFeelMenuItem.java 1KB
MenuItem.java 384B
GlobalPopupMenu.java 691B
FileChooser.java 189B
event
LookAndFeelChangeEvent.java 630B
PopupMenu.java 183B
util
GuiUtil.java 15KB
BooleanUtil.java 317B
CalculateThread.java 2KB
ValidateUtil.java 1KB
CenterPanel.java 749B
listener
DefaultCalculateListener.java 3KB
PopupMenuAdapter.java 426B
DefaultLookAndFeelChangeListener.java 1KB
CalculateAdapter.java 677B
LookAndFeelChangeListener.java 289B
TextFieldDropTargetListener.java 4KB
Main.java 316B
CalculateButton.java 696B
ChooseFileButton.java 589B
CheckBoxMenuItem.java 406B
UIManager.java 1KB
hash
exception
UnableToCalculateException.java 523B
AbstractMessageDigestHash.java 1KB
HashFactory.java 998B
AbstractHash.java 7KB
CRC32Hash.java 599B
event
CalculateEvent.java 953B
Adler32Hash.java 615B
listener
CalculateListener.java 484B
impl
SHA512Hash.java 224B
MD5Hash.java 217B
SHA256Hash.java 224B
SHA1Hash.java 220B
SHA384Hash.java 224B
SHAHash.java 217B
CRC32Hash.java 644B
MD2Hash.java 217B
Adler32Hash.java 1KB
Hash.java 839B
lib
commons-lang-2.5.jar 273KB
共 59 条
- 1
资源评论
qq_38220914
- 粉丝: 600
- 资源: 4313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功