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

📄 searchview.java

📁 java实 现的 GOOGLE 搜索很好用?
💻 JAVA
字号:
/*
 * Created on 2004-9-10
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.xqtu.google.views;

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.internal.dialogs.ViewContentProvider;
import org.eclipse.ui.part.ViewPart;
 
import com.google.soap.search.GoogleSearch;
import com.google.soap.search.GoogleSearchFault;
import com.google.soap.search.GoogleSearchResult;
import com.google.soap.search.GoogleSearchResultElement;
import com.xqtu.google.wizards.LicenseKeyWizard;
 
public class SearchView extends ViewPart implements IDoubleClickListener {
 
    public static final String ID = "com.xqtu.google.views.SearchView";
 
    private TableViewer tableViewer;
 
    private Text searchText;
 
    private GoogleSearchResultElement model;
 
    public void createPartControl(Composite parent) {
 
        GridLayout gridLayout = new GridLayout();
        gridLayout.numColumns = 3;
        gridLayout.marginHeight = 5;
        gridLayout.marginWidth = 5;
 
        parent.setLayout(gridLayout); 
        Label searchLabel = new Label(parent, SWT.NONE);
        searchLabel.setText("Search:");
 
        searchText = new Text(parent, SWT.BORDER);
        searchText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
                | GridData.HORIZONTAL_ALIGN_FILL));
 
        Button searchButton = new Button(parent, SWT.PUSH);
        searchButton.setText(" Search ");
        
        searchButton.addSelectionListener(new SelectionListener() {
 
            public void widgetSelected(SelectionEvent e) {
 
                	GoogleSearch search = new GoogleSearch();
	                search.setKey(LicenseKeyWizard.getLicenseKey());
	                search.setQueryString(searchText.getText());
	                try {
	                    GoogleSearchResult result = search.doSearch();
	 
	                    tableViewer.setInput(model);
	                    tableViewer.add(result.getResultElements());
	 
	                } catch (GoogleSearchFault ex) {
	                    MessageDialog.openWarning(e.display.getActiveShell(),
	                            "Google Error", ex.getMessage());
	                }	 
            }
 
            public void widgetDefaultSelected(SelectionEvent e) {
 
            }
        });
 
        GridData gridData = new GridData();
        gridData.verticalAlignment = GridData.FILL;
        gridData.horizontalSpan = 3;
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;
        gridData.horizontalAlignment = GridData.FILL;
 
        tableViewer = new TableViewer(parent, SWT.FULL_SELECTION | SWT.BORDER);
        tableViewer.setLabelProvider(new SearchViewLabelProvider());
        tableViewer.setContentProvider(new ViewContentProvider());
        tableViewer.setInput(model);
        tableViewer.getControl().setLayoutData(gridData);
        tableViewer.addDoubleClickListener(this);
 
        Table table = tableViewer.getTable();
        table.setHeaderVisible(true);
        table.setLinesVisible(true);
 
        TableColumn titleColumn = new TableColumn(table, SWT.NONE);
        titleColumn.setText("Title");
        titleColumn.setWidth(250);
 
        TableColumn urlColumn = new TableColumn(table, SWT.NONE);
        urlColumn.setText("URL");
        urlColumn.setWidth(200);
        
    }
 
    public void setFocus() {
 
        searchText.setFocus();
 
    }
 
    public void doubleClick(DoubleClickEvent event) {
 
        if (!tableViewer.getSelection().isEmpty()) {
 
            IStructuredSelection ss = (IStructuredSelection) tableViewer
                    .getSelection();
            GoogleSearchResultElement element = (GoogleSearchResultElement) ss
                    .getFirstElement();
 
            BrowserView.browser.setUrl(element.getURL());
        }
 
    }
}

⌨️ 快捷键说明

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