⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indexerframe.java

📁 Grid based Search Engine
💻 JAVA
字号:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class IndexerFrame extends JFrame {

  Indexer in=new Indexer();
  public static JLabel jLabelStatus = new JLabel();
  Thread indTh=new Thread(in);
  JPanel contentPane;
  static JTextField jTextFieldFile = new JTextField();
  JLabel jLabelFile = new JLabel();
  JTextField jTextFieldToken = new JTextField();
  JLabel jLabelToken = new JLabel();
  JButton jButtonRun = new JButton();
  JButton jButtonStop = new JButton();
  static JLabel jLabelPop = new JLabel();
  JButton jButtonClose = new JButton();
  JLabel jLabelWarning = new JLabel();

  /**Construct the frame*/
  public IndexerFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {

      e.printStackTrace();
    }
  }
  /**Component initialization*/
  private void jbInit() throws Exception  {
    jTextFieldFile.setBorder(BorderFactory.createEtchedBorder());
    jTextFieldFile.setBounds(new Rectangle(113, 57, 252, 24));
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(null);
    contentPane.setBackground(new java.awt.Color(204, 204, 255));
    this.setResizable(false);
    this.setSize(new Dimension(450, 300));
    this.setTitle("Indexer");
    jLabelFile.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabelFile.setText("Reading File   ");
    jLabelFile.setBounds(new Rectangle(14, 59, 95, 22));
    jLabelFile.setBackground(new java.awt.Color(204, 204, 255));
    jTextFieldToken.setBorder(BorderFactory.createEtchedBorder());
    jTextFieldToken.setBounds(new Rectangle(112, 98, 254, 25));
    jLabelToken.setText("Reading Token");
    jLabelToken.setBounds(new Rectangle(17, 100, 91, 23));
    jLabelToken.setBackground(new java.awt.Color(204, 204, 255));
    jButtonRun.setBorder(BorderFactory.createEtchedBorder());
    jButtonRun.setText("Run");
    jButtonRun.setBounds(new Rectangle(74, 208, 79, 26));
    jButtonRun.setBackground(new java.awt.Color(204, 204, 255));
    jButtonRun.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButtonRun_actionPerformed(e);
      }
    });
    jButtonStop.setBorder(BorderFactory.createEtchedBorder());
    jButtonStop.setText("Stop");
    jButtonStop.setBounds(new Rectangle(177, 207, 80, 26));
    jButtonStop.setBackground(new java.awt.Color(204, 204, 255));
    jButtonStop.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButtonStop_actionPerformed(e);
      }
    });
    jLabelPop.setForeground(Color.blue);
    jLabelPop.setOpaque(true);
    jLabelPop.setHorizontalAlignment(SwingConstants.CENTER);
    jLabelPop.setHorizontalTextPosition(SwingConstants.CENTER);
    jLabelPop.setBounds(new Rectangle(112, 147, 252, 32));
    jLabelPop.setBackground(new java.awt.Color(204, 204, 255));
    jButtonClose.setBorder(BorderFactory.createEtchedBorder());
    jButtonClose.setText("Close");
    jButtonClose.setBounds(new Rectangle(281, 207, 83, 25));
    jButtonClose.setBackground(new java.awt.Color(204, 204, 255));
    jButtonClose.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButtonClose_actionPerformed(e);
      }
    });
    jLabelWarning.setForeground(Color.red);
    jLabelWarning.setBackground(new java.awt.Color(204, 204, 255));
    jLabelWarning.setOpaque(true);
    jLabelWarning.setHorizontalAlignment(SwingConstants.CENTER);
    jLabelWarning.setHorizontalTextPosition(SwingConstants.CENTER);
    jLabelWarning.setBounds(new Rectangle(45, 12, 337, 32));
    contentPane.add(jTextFieldFile, null);
    contentPane.add(jLabelFile, null);
    contentPane.add(jTextFieldToken, null);
    contentPane.add(jLabelToken, null);
    contentPane.add(jLabelPop, null);
    contentPane.add(jLabelWarning, null);
    contentPane.add(jButtonRun, null);
    contentPane.add(jButtonStop, null);
    contentPane.add(jButtonClose, null);
    jButtonStop.setEnabled(false);
     }
  /**Overridden so we can exit when window is closed*/
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      FrameMain.jMenuItemStopi.setEnabled(false);
      FrameMain.jMenuItemRuni.setEnabled(true);
      dispose();
    }
  }

  void jButtonRun_actionPerformed(ActionEvent e) {
  if(indTh.isAlive()==false)
  	{
  	indTh.start();
	}
  jButtonRun.setEnabled(false);
  jButtonStop.setEnabled(true);
  jLabelPop.setText("");
  }

  void jButtonStop_actionPerformed(ActionEvent e) {
   FrameMain.jMenuItemStopi.setEnabled(false);
   FrameMain.jMenuItemRuni.setEnabled(true);
   jButtonRun.setEnabled(false);
   jButtonStop.setEnabled(true);

   try{
   in.stopFlag=false;
   jTextFieldFile.setText("Closing File Streams.....");
   jLabelWarning.setText("WARNING !!  All Files May not be Indexed");
   //indTh.stop();
   //indTh=null;
   //in=null;

   }
   catch(Exception ex)
   {
   this.jTextFieldFile.setText(ex.getMessage());
   dispose();
   }
   //FrameMain.indFrame.dispose();
  }

  void jButtonClose_actionPerformed(ActionEvent e) {
  FrameMain.jMenuItemStopi.setEnabled(false);
  FrameMain.jMenuItemRuni.setEnabled(true);
  dispose();
  jLabelPop.setText("");
  jTextFieldFile.setText("");
  jLabelWarning.setText("");
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -