`
longgangbai
  • 浏览: 7330721 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nebula 的几个常用的widgets的使用

阅读更多

package com.easyway.tbs.commons.ext.nebula.part;

import java.util.Locale;

import org.eclipse.nebula.widgets.cdatetime.CDateTime;
import org.eclipse.nebula.widgets.datechooser.DateChooser;
import org.eclipse.nebula.widgets.datechooser.DateChooserCombo;
import org.eclipse.nebula.widgets.datechooser.DateChooserTheme;
import org.eclipse.nebula.widgets.formattedtext.DateFormatter;
import org.eclipse.nebula.widgets.grid.Grid;
import org.eclipse.nebula.widgets.grid.GridColumn;
import org.eclipse.nebula.widgets.grid.GridColumnGroup;
import org.eclipse.nebula.widgets.grid.GridItem;
import org.eclipse.nebula.widgets.pgroup.FormGroupStrategy;
import org.eclipse.nebula.widgets.pgroup.MinMaxToggleRenderer;
import org.eclipse.nebula.widgets.pgroup.PGroup;
import org.eclipse.nebula.widgets.radiogroup.RadioGroup;
import org.eclipse.nebula.widgets.radiogroup.RadioItem;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

import com.easyway.tbs.commons.ext.nebula.NebulasView;

public class NebulaCompont {
 /**
  * 创建RadioGroup
  * @param parent
  * @return
  */
   public Control createRadioGroup(Composite parent)
     {
    RadioGroup  radioGroup = new RadioGroup(parent, SWT.FLAT);
         (new RadioItem(radioGroup, 0)).setText("Red");
         (new RadioItem(radioGroup, 0)).setText("Orange");
         (new RadioItem(radioGroup, 0)).setText("Yellow");
         (new RadioItem(radioGroup, 0)).setText("Green");
         (new RadioItem(radioGroup, 0)).setText("Blue");
         (new RadioItem(radioGroup, 0)).setText("Indigo");
         (new RadioItem(radioGroup, 0)).setText("Violet");
         return radioGroup;
     }
   /**
    * 创建CDateTime
    * @param parent
    * @param style
    * @param format
    * @param pattern
    * @return
    */
   public Control createCDateTime(Composite parent,int style,int format,String pattern)
   {
    CDateTime  cdc = new CDateTime(parent, style);
    cdc.setLocale(Locale.CHINESE);
    cdc.setFormat(format);
    cdc.setPattern(pattern);
    return cdc;
   }
   /**
    *创建 DateChooserCombo
    * @param parent
    * @param style
    * @return
    */
   public Control createDateChooserCombo(Composite parent,int style)
   {
    DateChooserCombo chooserCombo = new DateChooserCombo(parent, style);
    chooserCombo.setTheme(DateChooserTheme.YELLOW);
       chooserCombo.setFooterVisible(true);
       chooserCombo.setFormatter(new DateFormatter("yyyy-MM-dd",Locale.CHINESE));
       return chooserCombo;
   }
   /**
    *创建 DateChooser
    * @param parent
    * @param style
    * @return
    */
   public Control createDateChooser(Composite parent,int style)
     {
      DateChooser  chooser = new DateChooser(parent, style);
      chooser.setTheme(DateChooserTheme.YELLOW);
         chooser.setWeeksVisible(true);
         chooser.setFooterVisible(true);
         chooser.setNavigationEnabled(true);
         chooser.setAutoChangeOnAdjacent(true);
         chooser.setAutoSelectOnFooter(true);
         return chooser;
     }
   public Control createsDateChooser(Composite parent,int style)
     {
      DateChooser  chooser = new DateChooser(parent, style);
      chooser.setTheme(DateChooserTheme.YELLOW);
         chooser.setWeeksVisible(true);
         chooser.setFooterVisible(true);
         chooser.setNavigationEnabled(true);
         chooser.setAutoChangeOnAdjacent(true);
         chooser.setAutoSelectOnFooter(true);
         return chooser;
     }
   /**
    *创建 PGroup  (典型应用类似QQ中设置的效果)
    * @param parent
    * @return
    */
   public Control createPGroup(Composite parent,int style)
     {
         PGroup group = new PGroup(parent, style);
         group.setStrategy(new FormGroupStrategy());
         group.setToggleRenderer(new MinMaxToggleRenderer());
         group.setText("PGroup学习应用");
         group.setImage(NebulasView.getImage("icons/woman3.png"));
         group.setLayout(new GridLayout(3, false));
         Button b = new Button(group, 8);
         b.setText("Button 1");
         b = new Button(group, 8);
         b.setText("Button 22222");
         b = new Button(group, 8);
         b.setText("Button 3");
         return group;
     }
   /**
     *创建 Grid
    * @param parent
    * @param style
    * @return
    */
   public Control createGrid(Composite parent,int style)
     {
         Grid  grid = new Grid(parent, style);
         grid.setHeaderVisible(true);
         GridColumn col = new GridColumn(grid, 0);
         col.setTree(true);
         col.setText("First Column");
         col.setWidth(140);
         GridColumnGroup group = new GridColumnGroup(grid, SWT.BORDER);
         group.setText("Column Grouping");
         GridColumn col2 = new GridColumn(group, SWT.CENTER);
         col2.setText("The Column #2");
         col2.setWidth(230);
         col2.setResizeable(false);
         final GridColumn col3 = new GridColumn(group, 0);
         col3.setSummary(false);
         col3.setText("Click me");
         col3.setWidth(100);
         col3.addSelectionListener(new SelectionAdapter() {
             public void widgetSelected(SelectionEvent e)
             {
                 if(col3.getSort() == 128)
                     col3.setSort(1024);
                 else
                     col3.setSort(128);
             }
         }
         );
         GridItem item = new GridItem(grid, 0);
         item.setText("Item #000000000000000000000");
         item.setText(1, "Test data ");
         item.setText(2, "asdfjas;dlfjk");
         item.setColumnSpan(2, 1);
         item.setImage(NebulasView.getImage("icons/eclipse.png"));
         item.setToolTipText(0, "my tooltip 1");
         item.setToolTipText(1, "tooltip2");
         item.setToolTipText(2, "test tooltip on 3");
         GridItem item2 = new GridItem(item, 0);
         item2.setText("first tree");
         item2.setText(1, "first tree");
         item2.setToolTipText(0, "hi");
         item2.setToolTipText(1, "more tooltips");
         item2 = new GridItem(item, 0);
         item2.setText("first tree");
         item2.setText(1, "first tree");
         item2 = new GridItem(item, 0, 0);
         item2.setText("should be 1111");
         item2.setText(1, "first tree");
         GridItem item22 = new GridItem(item2, 0);
         item22.setText("second tree");
         item22.setText(1, "this is a readonly checkbox (if SWT.CHECK)");
         item22.setChecked(1, true);
         item22.setGrayed(1, true);
         item22.setCheckable(1, false);
         GridItem item55 = new GridItem(grid, 0);
         item55.setText("Item #55");
         item55.setText(1, "This cell spans over many columns, use setColumnSpan method to achieve this");
         item55.setChecked(1, true);
         item55.setColumnSpan(1, 2);
         GridItem item52 = new GridItem(item55, 0);
         item52.setText("second tree");
         item52.setText(1, "second tree");
         for(int i = 3; i < 13; i++)
         {
             GridItem item3 = new GridItem(grid, 0);
             item3.setText("Item #" + i);
             item3.setText(1, "Test data ");
             item3.setText(2, "asdfjas;dlfjk");
             if(i == 5)
             {
                 Font f = new Font(Display.getCurrent(), "Tahoma", 8, 3);
                 item3.setFont(2, f);
                 item3.setForeground(2, Display.getCurrent().getSystemColor(12));
             }
         }

         GridColumn col4 = new GridColumn(grid, 0);
         col4.setText("4th col");
         col4.setWidth(50);
         grid.setRowHeaderVisible(true);
         grid.setHeaderVisible(true);
         grid.setLinesVisible(true);
         grid.setColumnScrolling(true);
         for(int i = 0; i < grid.getColumns().length; i++)
         {
             grid.getColumn(i).setMoveable(true);
          grid.getColumn(i).setResizeable(true);
         }


         grid.setSelectionEnabled(true);
         grid.setCellSelectionEnabled(true);
         grid.getColumn(1).setCellSelectionEnabled(true);
         grid.getColumn(1).setWordWrap(true);
         grid.setRowsResizeable(true);
         return grid;
     }
   public static void main(String[] args) {
  
    Display display=Display.getDefault();
    Shell shell=new Shell(display);
  
    RadioGroup  radioGroup = new RadioGroup(shell, SWT.LEFT);
         (new RadioItem(radioGroup, 0)).setText("Red");
         (new RadioItem(radioGroup, 0)).setText("Orange");
         (new RadioItem(radioGroup, 0)).setText("Yellow");
         (new RadioItem(radioGroup, 0)).setText("Green");
         (new RadioItem(radioGroup, 0)).setText("Blue");
         (new RadioItem(radioGroup, 0)).setText("Indigo");
         (new RadioItem(radioGroup, 0)).setText("Violet");
         radioGroup.setSize(400,450);
         //获取数据单选按钮
         radioGroup.getSelection().getData();
        
         shell.open();
        
      while(!display.isDisposed())
   {
     if(!display.readAndDispatch())
     {
      display.sleep();
     }
   }
   
   display.dispose();
 }
}

分享到:
评论

相关推荐

    org.eclipse.nebula.widgets.grid_1.0.0.jar_gridview_everyt8y_

    标题中的"org.eclipse.nebula.widgets.grid_1.0.0.jar_gridview_everyt8y_"暗示了我们正在讨论的是Eclipse Nebula项目中的一个组件,具体是Grid Viewer相关的库,版本为1.0.0。这个库是用于构建用户界面的,特别适用...

    eclipse nebula部件

    Nebula的使用通常涉及以下几个方面: - **集成与配置**:需要在Eclipse插件项目中引入Nebula的依赖,并在代码中正确导入相关类。 - **界面设计**:利用Nebula组件创建或替换原有的SWT控件,以提高用户体验。 - **...

    org.vwpolo.nebula.widgets.girdviewer_1.0.0

    eclipse widgets,扩展了swt的table

    nebula.widgets.pshelf.jar

    `nebula.widgets.pshelf.jar`包含了实现PShelf布局所需的全部类和资源,主要包含以下几个关键部分: 1. **PShelfWidget**:这是核心的布局组件,负责管理各个子组件(通常为JPanel或其他自定义组件)的位置和大小,...

    Nebula2.25_汉化

    总的来说,Nebula2.25汉化版为中文用户提供了更顺畅的使用体验,无论是专业音频工程师还是爱好者,都能在这个版本中更好地发掘Nebula的强大功能。从模拟各种音频效果到进行复杂的系统测试,Nebula2.25汉化版都是一个...

    Nebula模拟器-Nebula模拟器-Nebula模拟器

    Nebula模拟器是一款强大的虚拟化工具,专为云计算和数据中心环境设计,它允许用户在单个物理设备上运行多个独立的虚拟环境。Nebula模拟器的核心目标是提供高效、安全且可扩展的虚拟化解决方案,使得企业可以更有效地...

    java-nebula客户端集成(csdn)————程序.pdf

    Java Nebula 客户端集成是指将 Nebula 图数据库与 Java 应用程序集成,以便在 Java 应用程序中使用 Nebula 图数据库的功能。下面是 Java Nebula 客户端集成的详细过程。 一、建立 Maven 工程 首先,需要创建一个 ...

    nebula图数据库V2.6.0

    5. **停止和清理**:使用`docker-compose down`可停止并清理所有相关容器和网络。 ### 四、应用场景 Nebula图数据库V2.6.0适用于社交网络分析、金融风控、推荐系统、物联网(IoT)设备关系分析、知识图谱构建等多种...

    脱壳的nebula225b

    总的来说,"脱壳的nebula225b"是一个针对NEBULA模拟器的定制优化版本,特别关注了Rom扫描问题,并进行了汉化处理,方便中国用户使用。这个版本旨在提供一个无故障、易用的游戏环境,让用户可以更好地享受复古游戏的...

    nebula-graph-studio-3.8.0 ARM架构编译完成的包

    《Nebula Graph Studio 3.8.0 在 ARM ...其简单的部署流程和强大的功能,使得在ARM平台上使用Nebula Graph变得更加容易。无论你是数据分析师、开发人员还是系统管理员,这个工具都能帮助你更高效地管理和利用图数据。

    nebula-V3.3.0镜像资源包

    nebula-V3.3.0镜像资源包,包含meta、storged及graphd对应的镜像,以及nebula-console文件

    Nebula3的maya插件

    在计算机图形学领域,Maya是一款广泛使用的三维建模与动画软件,而Nebula3则是一个专为游戏开发和视觉特效设计的高级工具集。在这个场景中,Nebula3的Maya插件扮演着重要的角色,它允许用户将Maya中的3D模型和场景...

    nebula3加载xml的核心实现

    1. **XML解析器初始化**:Nebula3使用了一个内置的XML解析库,可能是基于TinyXML、pugixml或DOM解析器等。解析器被初始化并用于打开和读取XML文件。 2. **文档对象模型(DOM)构建**:解析器读取XML文件的内容,将其...

    Nebula PaperClips打印例子

    通过"Paperclips Article"这个文件,用户可以深入学习和实践以上各项操作,逐步掌握Nebula PaperClips的使用技巧,提升打印效率和质量。同时,理解并熟练运用这些知识点,有助于在日常工作中更有效地处理各种打印...

    Nebula3命令行应用程序向导

    Nebula3是一个强大的游戏开发引擎,以其高效、灵活和可扩展性著称。对于新接触这个框架的开发者来说,通过命令行界面来创建和管理应用可能会感到困难,而这款向导则提供了易用的指导和自动化功能,降低了入门门槛。 ...

    CH-Nebula

    【标题】"CH-Nebula" 是一个专用于街机游戏模拟的软件,它使得用户能够在个人电脑上体验经典的街机游戏,如“街头霸王”等。作为一个模拟器,CH-Nebula的主要功能是模拟真实的街机硬件环境,将街机游戏的ROM(Read-...

    Nebula3 Console Application Wizard

    **Nebula3 Console Application Wizard** 是一个专为Nebula3框架设计的工具,用于帮助开发者快速创建和配置命令行应用程序。这个向导简化了命令行应用的开发过程,使得程序员可以更专注于核心功能的实现,而不用过于...

    nebula-release-plugin, 基于 gradle git发布意见.zip

    nebula-release-plugin, 基于 gradle git发布意见 nebula-release-plugin 这个插件为 gradle 提供的发布过程提供了一些意见和任务。应用插件plugins { id 'nebula.release' version '6.0.

    Nebula架构文档

    Nebula2的游戏架构,对了解引擎的架构有些帮助

    nebula使用Docker单节点部署yaml文件

    nebula使用Docker单节点部署yaml文件

Global site tag (gtag.js) - Google Analytics