📄 findinjar.java
字号:
* @return javax.swing.JMenuItem
*/
private JMenuItem getAboutMenuItem() {
if (aboutMenuItem == null) {
aboutMenuItem = new JMenuItem();
aboutMenuItem.setText("关于");
aboutMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String message="类/包检索工具 V0.11\n"+
"written by ikaoni\n"+
"2007.5";
JOptionPane.showMessageDialog(jFrame, message, "关于",JOptionPane.INFORMATION_MESSAGE);
}
});
}
return aboutMenuItem;
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
private JFrame getJFrame() {
if (jFrame == null) {
jFrame = new JFrame();
jFrame.setSize(new Dimension(601, 388));
jFrame.setTitle("类/包检索工具");
jFrame.setResizable(false);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setJMenuBar(getJJMenuBar());
jFrame.setContentPane(getJContentPane());
listModel1 = new DefaultListModel();
foldersList.setModel(listModel1);
listModel2 = new DefaultListModel();
injarList.setModel(listModel2);
}
return jFrame;
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
totalFoundLabel = new JLabel();
totalFoundLabel.setBounds(new Rectangle(461, 37, 117, 18));
totalFoundLabel.setHorizontalAlignment(SwingConstants.RIGHT);
totalFoundLabel.setText("共找到 个");
totalFoundLabel.setVisible(false);
injarLabel = new JLabel();
injarLabel.setBounds(new Rectangle(308, 37, 118, 18));
injarLabel.setText("所在的文件:");
classLabel = new JLabel();
classLabel.setBounds(new Rectangle(309, 14, 38, 18));
classLabel.setText("类名:");
foldersLabel = new JLabel();
foldersLabel.setBounds(new Rectangle(10, 15, 80, 18));
foldersLabel.setText("文件/文件夹:");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
jContentPane.add(foldersLabel, null);
jContentPane.add(classLabel, null);
jContentPane.add(injarLabel, null);
jContentPane.add(getClassTextBox(), null);
jContentPane.add(getAddButton(), null);
jContentPane.add(getRemoveButton(), null);
jContentPane.add(getSearchButton(), null);
jContentPane.add(getJScrollPane1(), null);
jContentPane.add(getJScrollPane2(), null);
jContentPane.add(getJScrollPane3(), null);
jContentPane.add(totalFoundLabel, null);
}
return jContentPane;
}
/**
* This method initializes jJMenuBar
*
* @return javax.swing.JMenuBar
*/
private JMenuBar getJJMenuBar() {
if (jJMenuBar == null) {
jJMenuBar = new JMenuBar();
jJMenuBar.add(getFileMenu());
jJMenuBar.add(getOptionMenu());
jJMenuBar.add(getHelpMenu());
}
return jJMenuBar;
}
/**
* This method initializes fileMenu
*
* @return javax.swing.JMenu
*/
private JMenu getFileMenu() {
if (fileMenu == null) {
fileMenu = new JMenu();
fileMenu.setText("文件");
fileMenu.setMnemonic(KeyEvent.VK_UNDEFINED);
fileMenu.add(getAddMenuItem());
fileMenu.add(getRemoveMenuItem());
fileMenu.add(getSearchMenuItem());
fileMenu.addSeparator();
fileMenu.add(getExitMenuItem());
}
return fileMenu;
}
/**
* This method initializes addMenuItem
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getAddMenuItem() {
if (addMenuItem == null) {
addMenuItem = new JMenuItem();
addMenuItem.setText("添加文件/文件夹..");
addMenuItem.setActionCommand("添加文件/文件夹..");
addMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
addButton.getActionListeners()[0].actionPerformed(e);
}
});
}
return addMenuItem;
}
/**
* This method initializes searchMenuItem
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getSearchMenuItem() {
if (searchMenuItem == null) {
searchMenuItem = new JMenuItem();
searchMenuItem.setText("检索");
searchMenuItem.setActionCommand("检索");
searchMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
searchButton.getActionListeners()[0].actionPerformed(e);
}
});
}
return searchMenuItem;
}
/**
* This method initializes exitMenuItem
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getExitMenuItem() {
if (exitMenuItem == null) {
exitMenuItem = new JMenuItem();
exitMenuItem.setText("退出");
exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.exit(0);
}
});
}
return exitMenuItem;
}
/**
* This method initializes classTextBox
*
* @return javax.swing.JTextField
*/
private JTextField getClassTextBox() {
if (classTextBox == null) {
classTextBox = new JTextField();
classTextBox.setBounds(new Rectangle(346, 11, 231, 24));
classTextBox.setText("");
classTextBox.setEditable(true);
}
return classTextBox;
}
/**
* This method initializes foldersList
*
* @return javax.swing.JList
*/
private JList getFoldersList() {
if (foldersList == null) {
foldersList = new JList();
}
return foldersList;
}
/**
* This method initializes injarList
*
* @return javax.swing.JList
*/
private JList getInjarList() {
if (injarList == null) {
injarList = new JList();
}
return injarList;
}
/**
* This method initializes addButton
*
* @return javax.swing.JButton
*/
private JButton getAddButton() {
if (addButton == null) {
addButton = new JButton();
addButton.setBounds(new Rectangle(58, 287, 66, 27));
addButton.setText("添加..");
addButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
showJFileChooser();
}
});
}
return addButton;
}
private void showJFileChooser(){
int retval=jfchooser.showDialog(jFrame,null);
if(retval==JFileChooser.APPROVE_OPTION){
File []files=jfchooser.getSelectedFiles();
for(int i=0;i<files.length;i++){
String filepath=files[i].getPath();
if(checkRepeat(filepath)){
String message=filepath+ "\n这一项已经添加过了.不能重复添加!";
JOptionPane.showMessageDialog(jFrame, message, "错误",JOptionPane.ERROR_MESSAGE);
}else{
listModel1.addElement(filepath);
}
}
}
}
private boolean checkRepeat(String filepath){
if(listModel1.getSize()>0){
for(int i=0;i<listModel1.getSize();i++){
if(listModel1.getElementAt(i).equals(filepath)){
return true;
}
}
}
return false;
}
/**
* This method initializes removeButton
*
* @return javax.swing.JButton
*/
private JButton getRemoveButton() {
if (removeButton == null) {
removeButton = new JButton();
removeButton.setBounds(new Rectangle(169, 287, 60, 28));
removeButton.setText("移除");
removeButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if(listModel1.getSize()==0){
JOptionPane.showMessageDialog(jFrame, "\"文件/文件夹\"为空!","错误",JOptionPane.ERROR_MESSAGE);
return;
}else{
int []indices=foldersList.getSelectedIndices();
if(indices.length==0) {
JOptionPane.showMessageDialog(jFrame, "您还没有选择要删除的文件/文件夹!","错误",JOptionPane.ERROR_MESSAGE);
return;
}
for(int i=indices.length-1;i>=0;i--)
listModel1.remove(indices[i]);
}
}
});
}
return removeButton;
}
/**
* This method initializes searchButton
*
* @return javax.swing.JButton
*/
private JButton getSearchButton() {
if (searchButton == null) {
searchButton = new JButton();
searchButton.setBounds(new Rectangle(413, 287, 60, 28));
searchButton.setText("检索");
searchButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String message;
if(listModel1.getSize()==0){
message="您还没有添加文件/文件夹!";
JOptionPane.showMessageDialog(jFrame,message,"错误",JOptionPane.ERROR_MESSAGE);
return;
}
if(classTextBox.getText().equals("")){
message="必须输入要搜索的类名!\n"+
"注意大小写";
JOptionPane.showMessageDialog(jFrame,message,"错误",JOptionPane.ERROR_MESSAGE);
return;
}
totalFoundLabel.setVisible(false);
totalFound=0;
clearResult();
setClassName(classTextBox.getText());
for(int i=0;i<listModel1.getSize();i++){
search(listModel1.getElementAt(i).toString(),recurse);
}
outResult();
}
});
}
return searchButton;
}
private void clearResult(){
if(fullclass){
jScrollPane2.setVisible(true);
jScrollPane3.setVisible(false);
listModel2.clear();
}else{
jScrollPane2.setVisible(false);
jScrollPane3.setVisible(true);
//如何清空表格显示的数据
for(int i=defaultTableModel.getRowCount()-1;i>=0;i--){
defaultTableModel.removeRow(i);
}
}
}
private void outResult(){
totalFoundLabel.setText("共找到 "+totalFound+" 个");
totalFoundLabel.setVisible(true);
if(fullclass){
for(int i=0;i<jarFiles.size();i++)
listModel2.addElement(jarFiles.get(i));
}else{
for(int i=0;i<jarFiles.size();i++){
String []row=jarFiles.get(i).toString().split("/");
defaultTableModel.addRow(row);
}
}
jarFiles.clear();
}
/**
* This method initializes helpMenu
*
* @return javax.swing.JMenu
*/
private JMenu getHelpMenu() {
if (helpMenu == null) {
helpMenu = new JMenu();
helpMenu.setText("帮助");
helpMenu.add(getHelpMenuItem());
helpMenu.add(getAboutMenuItem());
}
return helpMenu;
}
} // @jve:decl-index=0:visual-constraint="480,13"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -