Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
RCP II:扩展通用工作台(2-2)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

4)创建SearchViewLabelProvider

package com.xqtu.google.views;
 
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
 
import com.google.soap.search.GoogleSearchResultElement;
 
public class SearchViewLabelProvider extends LabelProvider implements
        ITableLabelProvider {
 
    public Image getColumnImage(Object element, int columnIndex) {
        return null;
    }
 
    public String getColumnText(Object element, int columnIndex) {
 
        switch (columnIndex) {
               case 0:
              return ((GoogleSearchResultElement) element).getTitle();
               case 1:
              return ((GoogleSearchResultElement) element).getURL();
               default:
              return "";
        }
        
    }
 
}

l         TableViewer对象调用SearchViewLabelProvider来设置表格每行的列文本内容,第一列是搜索标题,第二列是URL

l         SearchViewLabelProvider扩展LabelProvider,实现ItableLabelProvider接口,根据提供的元素对象为每列提供文本和/或图像

l         由于表格不提供图像,getColumnImage方法返回nullgetColumnText根据不同的列索引返回不同的文本内容

5)创建BrowserView视图

package com.xqtu.google.views;
 
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;
 
public class BrowserView extends ViewPart {
 
    public static final String ID = "com.xqtu.google.views.BrowserView";
    
    public static Browser browser;
    
    public void createPartControl(Composite parent) {
 
        GridLayout gridLayout = new GridLayout();
        gridLayout.numColumns = 1;
        gridLayout.marginHeight = 5;
        gridLayout.marginWidth = 5;
        parent.setLayout(gridLayout);
       
        browser = new Browser(parent, SWT.NONE);
       
        browser.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
                | GridData.GRAB_VERTICAL | GridData.FILL_HORIZONTAL
                | GridData.FILL_VERTICAL));
        browser.setUrl("http://blog.csdn.net/chenyun2000");
        
    }
 
    public void setFocus() {
 
        browser.setFocus();
    }
 
}

l         BrowserView视图的创建方法和SearchView视图是一样的:扩展ViewPart基类,实现createPartControlsetFocus方法

l         createPartControl方法中创建一个SWT浏览器控件,用来显示用户在搜索结果表中选中的Web页面

6)将SearchViewBrowserView集成到透视图中

package com.xqtu.google;
 
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
 
import com.xqtu.google.views.BrowserView;
import com.xqtu.google.views.SearchView;
 
public class GooglePerspective implements IPerspectiveFactory {
 
    public static final String ID = "com.xqtu.google.GooglePerspective";
 
    public void createInitialLayout(IPageLayout layout) {
        
        layout.setEditorAreaVisible(false);
        layout.addView(SearchView.ID, IPageLayout.BOTTOM, new Float(0.60)
                .floatValue(), IPageLayout.ID_EDITOR_AREA);
        layout.addView(BrowserView.ID, IPageLayout.TOP, new Float(0.40)
                .floatValue(), IPageLayout.ID_EDITOR_AREA);
 
    }
 
}

l         在透视图类GooglePerspectivecreateInitialLayout方法中调用addView方法添加视图到透视图中

l         addView方法需要四个参数,分别是:

Ø         视图的唯一标识,与plugin.xml中定义的一致

Ø         参考部分中的相对位置,可以是IPageLayout.TOPIPageLayout.BOTTOMIPageLayout.LEFTIPageLayout.RIGHT

Ø         参考部分中当前占有的空间比率,值范围在0.05f0.95f之间

Ø         参考部分唯一标识;例中使用的是编辑区域(IPageLayout.ID_EDITOR_AREA




相关文章

相关软件