`
littie1987
  • 浏览: 134042 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

SWT控件学习

    博客分类:
  • SWT
 
阅读更多

Group:

    Group group1 = new Group(shell, SWT.BORDER);

    Group支持的其他style有BORDER, SHADOW_ETCHED_IN, SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT and SHADOW_NONE。

 Group是Composite的子类,拥有和Composite相似的方法,但也有自己的特色方法:如,setText();

 

Table(表格):

Table table1 =  new  Table(shell, SWT.BORDER);

支持其他的Style有:BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI,
CHECK (this style creates a check box column as the first column), FULL_SELECTION
and HIDE_SELECTION. 

如果表格style属性是FULL_SELECTION,那么表格每列的大小是可以拖动的,选中某一项后该项所处的整行将被选中。

表格属性设置:

table1.setLinesVisible( true);------显示表格线
table1.setHeaderVisible(true); -------------显示头

 

Table table = new Table(shell, SWT.BORDER);
table.setLinesVisible(true);
table.setHeaderVisible(true);
table.setBounds(200, 0, 300, 300);
TableColumn column1 = new TableColumn(table, SWT.LEFT);
column1.setText("name");
column1.setWidth(50);
TableColumn column2 = new TableColumn(table, SWT.LEFT);
column2.setText("age");
column2.setWidth(50);
TableColumn column3 = new TableColumn(table, SWT.LEFT);
column3.setText("sex");
column3.setWidth(50);
	
	TableItem item1 = new TableItem(table, SWT.None);
	item1.setText(new String[]{"xx","25","男"});
	TableItem item2 = new TableItem(table, SWT.None);
	item2.setText(new String[]{"xx","25","男"});

 上述代码是显示2行3列的一个表格。

TabFolder(选项卡):

   

		TabFolder tabFolder1 =  new  TabFolder(shell,SWT.BORDER); 
		tabFolder1.setBounds(10,10,270,250); 
		//Set up the button tab  
		Composite buttonComp =  new  Composite(tabFolder1,SWT.NONE); 
		Button button1 = new  Button(buttonComp,SWT.PUSH); 
		button1.setSize(100,100); 
		button1.setText("Hello"); 
		button1.setLocation(0,0); 
		Button button2 = new  Button(buttonComp,SWT.ARROW); 
		button2.setBounds(150,0,50,50); 
		   
		TabItem item1 = new  TabItem(tabFolder1,SWT.NONE); 
		item1.setText("Buttons");
		
		
		item1.setControl(buttonComp); 
		   
		//Set up the label tab 
		Composite labelComp = new  Composite(tabFolder1,SWT.NONE); 
		Label label1 =  new  Label(labelComp,SWT.NONE); 
		label1.setText( "Here are some labels for your viewing pleasure" ); 
		label1.setBounds(0,0,250,20); 
		Label label2 =  new  Label(labelComp,SWT.NONE); 
		label2.setText( "A label is a fine fingered fiend"); 
		label2.setBounds(0,40,200,20); 
		   
		TabItem item2 = new  TabItem(tabFolder1,SWT.NONE); 
		item2.setText("Labels" ); 
		item2.setControl(labelComp);  

 TabFolder 有两个属性经常需要设置 item1.setText("Buttons");  item1.setControl(buttonComp);

  第一个是设置选项卡上显示的文字,第二个是设置选项卡点击之后的显示界面。

 

Menu(菜单):

 创建一个菜单栏:

    Menu menu = new Menu(shell, SWT.BAR);

    shell.setMenuBar(menu);
    其中style常量必须为BAR.

 创建菜单项:

    MenuItem file = new MenuItem(menu, SWT.CASCADE);
    file.setText("File");

为菜单项增加子菜单:

    Menu filemenu = new Menu(shell, SWT.DROP_DOWN);
    file.setMenu(filemenu)

然后可以采用如上的方法为子菜单添加菜单项。

为菜单项添加事件监听:

actionItem.addListener(SWT.Selection, new Listener() { 
public void handleEvent(Event e) { 
  System.out.println("Action performed!");    
 } 
}); 

 Pop-Menu(右键菜单):

  Menu menu = new Menu(shell, SWT.POP_UP);
  MenuItem menuItem1 = new MenuItem(menu, SWT.PUSH);
  menuItem1.setText("file");
  menuItem1.addListener(SWT.Selection, new Listener() {
   @Override
   public void handleEvent(Event event) {
    System.out.println("click");
    
   }
  });
  shell.setMenu(menu);

 注意:菜单的style是POP_UP。

MessageBox(消息框):

   创建一个消息框:

  MessageBox messageBox = new  MessageBox(shell, SWT.ICON_QUESTION |  
       SWT.YES | SWT.NO | SWT.CANCEL); 
    messageBox.setMessage("Do you like apples?"); 

消息框的类型还有:ICON_ERROR, ICON_INFORMATION,
ICON_QUESTION, ICON_WARNING and ICON_WORKING.  

返回类型有: OK, OK | CANCEL , YES | NO, YES | NO | CANCEL, RETRY |
CANCEL and ABORT | RETRY | IGNORE.

调用int code = messageBox.open();就可以显示box。

code就是返回值:

 switch(response){ 
  case SWT.YES: 
   System.out.println("Yes, the user likes apples."); 
   break ; 
  case SWT.NO: 
   System.out.println("No, the user does not like apples."); 
   break ; 
  case SWT.CANCEL: 
   System.out.println("The user cancelled."); 
   break ; 
 } 
分享到:
评论

相关推荐

    SWT控件2

    然而,我们可以从通常的SWT控件学习中推测,这篇博文可能深入讲解了如何在SWT中创建、定制和管理工具栏。 在SWT中,`ToolBar`类是用来创建工具栏的,它允许开发者在应用程序的界面上添加一组可点击的按钮或其它控件...

    SWT控件知识学习笔记

    ### SWT控件知识学习笔记 #### 一、SWT/JFace常用组件介绍 SWT (Standard Widget Toolkit) 是 Eclipse 平台的一个图形界面工具包,它提供了与平台无关的 GUI 组件,允许开发者构建高性能的应用程序。SWT/JFace ...

    一个SWT日期时间选择控件类

    对于那些想要深入理解SWT控件实现的人来说,这是一个宝贵的资源。 总的来说,这个SWT日期时间选择控件类为Java开发者提供了一个高效、易用的工具,用于在SWT应用中添加日期时间输入功能。通过拖放支持和提供的源...

    SWT控件

    **SWT控件详解** SWT(Standard Widget Toolkit)是由Eclipse基金会开发并维护的一套用于构建图形用户界面(GUI)的开源库,它是Java...通过学习和熟练使用SWT控件,可以构建功能丰富、用户体验良好的桌面应用程序。

    SWT/JFace 控件实例

    SWT控件包括按钮、文本框、列表、表格、树形视图、滚动条、菜单等基本元素,以及更复杂的如日历、颜色选择器等。SWT的优势在于它能充分利用操作系统的图形资源,避免了Java AWT或Swing中常见的“Java Look and Feel...

    swt入门学习资料

    Widgets 是 SWT 中的具体控件,如按钮、文本框等,它们通过 style bits 来定义其外观和行为。 SWT 还提供了一些高级功能,如数据绑定、拖放操作、打印支持等。同时,SWT 可以与 JFace 和 Eclipse RCP 结合使用,...

    SWT 时间控件及执行bat文件

    为了运行包含SWT控件的Java应用,通常会创建一个bat文件,因为它包含了启动Java虚拟机(JVM)并指定主类和依赖的jar文件的命令。在bat文件中,可能会看到类似`java -cp .;lib/* MainClass`这样的命令,它指定了当前...

    SWT基础代码涵盖其所有控件

    JFace的一些关键组件包括Viewer(用于封装SWT控件,如TableViewer和TreeViewer)、SelectionService(处理控件选择事件)以及Dialogs(提供标准对话框,如消息对话框和输入对话框)。 6. SWT与JFace的协同工作 在...

    SWT编程开发学习资料

    1. **SWT基础知识**:SWT提供了一系列控件,如按钮、文本框、列表、树、表格等,以及布局管理器,如FillLayout、GridLayout、 MigLayout等,帮助开发者构建复杂的用户界面。学习SWT时,你需要了解这些基本组件的用法...

    SWT开发手册.zip

    SWT是Eclipse项目的一部分,因此在Java开发领域,尤其是开发基于Eclipse的插件时,SWT控件的应用非常广泛。 本SWT开发手册将深入讲解如何使用SWT中的基本控件,如按钮、文本和标签,以创建功能丰富的GUI应用。以下...

    SWT相关学习资料(多个pdf文档)

    通过学习这本书,开发者可以深入理解SWT的各种控件,如按钮、文本框、表格、树视图等,以及如何组合这些组件来构建用户界面。 `快速了解ECLIPSE(SWT).pdf` 可能会详细解释SWT在Eclipse开发中的应用,包括Eclipse...

    swt - designer 学习实例

    SWT组件是构建GUI的基本元素,包括Button、Label、Text、Shell等,它们对应于常见的GUI控件。每个组件都有其特定的方法和属性,可以进行定制和交互。 布局管理在SWT中扮演着重要角色,它决定了组件在窗口中的位置和...

    SWT源码 swt.jar

    1. 原生外观:SWT控件是基于操作系统提供的控件,因此在不同平台上具有原生的外观和行为。 2. 高性能:由于直接与操作系统交互,SWT的性能通常优于使用AWT或Swing的Java应用。 3. 功能丰富:SWT提供了丰富的GUI组件...

    SWT 案例之学习精华

    通过"SWT案例之学习精华",你可以深入学习这些知识点,并结合"地址.txt"和"WSTDemo.rar"中的示例代码进行实践。"地址.txt"可能包含一些关于案例代码位置或使用说明的信息,而"WSTDemo.rar"很可能是包含实际SWT应用...

    SWT插件中文教程SWT常用方法

    4. **Shell**:窗口对象,它是所有SWT控件的容器。 5. **Composite**:复合控件,可以包含其他控件,用于组织复杂的布局。 6. **List** 和 **Tree**:列表和树形视图,用于展示和选择多项数据。 7. **Table**:表格...

    基于swt的小软件

    总结,"基于SWT的小软件"是一个实践性的学习资源,它涵盖了SWT控件使用、布局管理、事件处理和数据绑定等多个核心概念。通过深入研究和实践,开发者不仅可以掌握SWT的基本用法,还能进一步提升其在Java GUI编程方面...

    SWT_demo.zip_DEMO_SWT_SWT_demo_swt demo

    本示例"SWT_demo.zip_DEMO_SWT_SWT_demo_swt demo"提供了多种SWT控件的演示,旨在帮助开发者理解和应用这些组件。 在描述中提到的几个关键知识点包括: 1. **按钮(Buttons)**:SWT提供不同类型的按钮,如普通...

Global site tag (gtag.js) - Google Analytics