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

📄 guiapp.java

📁 用来为垂直搜索引擎抓取数据的采集系统
💻 JAVA
字号:
/*
 * *****************************************************
 * Copyright (c) 2005 IIM Lab. All  Rights Reserved.
 * Created by xuehao at 2005-10-12
 * Contact: zxuehao@mail.ustc.edu.cn
 * *****************************************************
 */


package org.indigo.gui;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.HashMap;
import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.MutableTreeNode;
import javax.swing.tree.TreeSelectionModel;

import org.indigo.gui.actions.RunAction;
/**
 * 此类在目前采集程序中,并没有用到,可以不管。
 * @author wbz
 *
 */

public class GuiApp
{
//    private int PREFERRED_WIDTH = 1024;
//    private int PREFERRED_HEIGHT = 768;
    private int PREFERRED_WIDTH = 800;
    private int PREFERRED_HEIGHT = 600;
    private JPanel itsMainPanel=null;
    private JTree itsTree=null;
    private JTable itsTable=null;
    
    private DefaultTableModel itsTableModel=null;
    private DefaultTreeModel itsTreeModel=null;
    private DefaultMutableTreeNode itsRoot=null;

    private IView itsView=null;
    
    private RunAction itsRunAction=null;
    
    private Vector itsRunQueue=new Vector();
    private Vector itsStopQueue=new Vector();
    private Vector itsPauseQueue=new Vector();
    
    private JMenuBar createMenuBar()
    {
        JMenuBar menuBar = new JMenuBar( );
        JMenu menuFile = new JMenu( "File" );
        JMenuItem menuItem = null;
        menuItem = new JMenuItem( "Exit" );
        menuFile.add( menuItem );
        
        JMenu menuHelp = new JMenu( "Help" );
        menuItem = new JMenuItem( "About" );
        menuHelp.add( menuItem );
        
        menuBar.add( menuFile );
        menuBar.add( menuHelp );
        
        return menuBar;
    }
    private void createGui()
    {
        ViewManager viewMag=null;
        viewMag = ViewManager.getInstance();
        itsMainPanel = viewMag.getMainPanel();
    }
    
    private void init()
    {
        // init tree
        itsRoot = ViewManager.getInstance().getTreeRoot();
        itsTreeModel = (DefaultTreeModel) ViewManager.getInstance().getTree().getModel();
        
        String path="./taskconfig";
        buildTree( path, itsRoot );
/*        
        File source = new File( path );
        String [] fileName = source.list();
        for( int i=0; i<fileName.length; i++ )
        {
            File file = new File( source.getPath(), fileName[i] );
            if( !file.isDirectory() && fileName[i].endsWith("task") )
            {
                itsTreeModel.insertNodeInto( new DefaultMutableTreeNode(fileName[i]),
                        itsRoot, itsRoot.getChildCount() );
            }
        }
*/        
        // init table
        
        ViewManager.getInstance().addDefaultPane( "浏览网站" );
//        ViewManager.getInstance().addTabbedPane( "demo2" );
       
    }
    private void buildTree( String fileName, MutableTreeNode parent )
    {
        File source = new File( fileName );
        if( source==null )
            return ;
        String []files = source.list();
        if( files==null )
            return;
        
        for( int i=0; i<files.length; i++ )
        {
            File file = new File( source.getPath(), files[i] );
            if( file.isDirectory() )
            {
                String thePath=null, dirName=null;
                thePath = file.toString();
                dirName = file.getName();
//                System.out.println( "new: " + dirName );
//                System.out.println( "go: " + thePath );
                
                DefaultMutableTreeNode subParent = new DefaultMutableTreeNode( dirName );
                itsTreeModel.insertNodeInto( subParent, parent, parent.getChildCount() );
                buildTree( file.toString(), subParent );
            }else
            {
                String str = file.getName();
                if( str.endsWith(".task") )
                {
                    str = str.substring( 0, str.lastIndexOf(".") );
	                itsTreeModel.insertNodeInto( new DefaultMutableTreeNode(str), parent, parent.getChildCount() );
//	                System.out.println( "new: " + file );
                }
            }
        }
    }
/*    
    private static void expandAll(JTree tree, TreePath parent, boolean expand) 
    {       
        // Traverse children        
        TreeNode node = (TreeNode) parent.getLastPathComponent();        
        if (node.getChildCount() >= 0) 
        {           
            for (Enumeration e = node.children(); e.hasMoreElements(); ) 
            {                
                TreeNode n = (TreeNode) e.nextElement();     
                TreePath path = parent.pathByAddingChild(n);    
                expandAll(tree, path, expand);          
              }        
          }      
        // Expansion or collapse must be done bottom-up       
        if (expand) 
        {            
            tree.expandPath(parent);        
        } else 
        {           
            tree.collapsePath(parent);        
            }    
        }
    }
*/    
    private void deInit()
    {
    }
    public void mainImpl()
    {
        JFrame.setDefaultLookAndFeelDecorated( true );
/*        
        try
        {
            UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
        } catch (ClassNotFoundException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InstantiationException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (UnsupportedLookAndFeelException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
*/        
        createGui();
        init();        
//        JFrame frame = new JFrame("数据采集人机界面");
        JFrame frame = new JFrame("智能化专业数据聚合平台");
        
        frame.setJMenuBar( createMenuBar() );
        
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.getContentPane().setLayout( new BorderLayout() );

        frame.getContentPane().add( itsMainPanel, BorderLayout.CENTER );
        ((JComponent) frame.getContentPane()).setPreferredSize( new Dimension(PREFERRED_WIDTH, PREFERRED_HEIGHT) );
        frame.pack();
        frame.setExtendedState( JFrame.MAXIMIZED_BOTH );
        
        frame.show();
    }    
    public static void main( String [] args )
    {
        (new GuiApp()).mainImpl();
        System.out.println( "gui over" );
    }
    
}

⌨️ 快捷键说明

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