`

SWT笔记1,组件的关系,屏幕信息

 
阅读更多


import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Text;


/**
 * 测试父组件被释放,子组件或子窗口也将被释放
 * display为shell的父组件
 * shell可以为其他shell的父组件
 * 测试打印屏幕尺寸的方法
 *
 */
public class testShellTree {
	private Text text;



	/**
	 * Launch the application.
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			testShellTree window = new testShellTree();
			window.open();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Open the window.
	 */
	public void open() {
		Display display = Display.getDefault();
		
		
		//父窗口
		Shell shellParent = new Shell();
		shellParent.setSize(602, 300);
		shellParent.setText("Parent shell, close this one will close the child window, too");
		
		//释放display的按钮
		Button btn = new Button(shellParent, SWT.NONE);
		btn.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				Display.getDefault().dispose();
			}
		});
		btn.setBounds(10, 10, 193, 27);
		btn.setToolTipText("关闭display对象后,其所有子shell都将被关闭");

		btn.setText("click me to dispose the Display");
		
		//显示屏幕信息的文本框
		text = new Text(shellParent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CANCEL | SWT.MULTI);
		text.setBounds(28, 91, 400, 127);
		String monitorInfo=Display.getDefault().getPrimaryMonitor().getBounds().toString();
		String clientAreaInfo=Display.getDefault().getPrimaryMonitor().getClientArea().toString();
		text.setText("屏幕大小为:"+monitorInfo+"\n用户区域大小为(去掉了任务栏的大小):"+clientAreaInfo);
		
		
		//子窗口
		Shell shellChild=new Shell(shellParent);
		shellChild.setText("Child, can be closed independently");
		shellChild.setSize(400, 300);
		
		Button btn2 = new Button(shellChild, SWT.NONE);
		btn2.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				Display.getDefault().dispose();
			}
		});
		btn2.setToolTipText("关闭display对象后,其所有子shell都将被关闭");
		btn2.setBounds(10, 117, 193, 27);
		btn2.setText("click me to dispose the Display");
		
		shellChild.setLocation(shellParent.getLocation().x+400, shellParent.getLocation().y+200);
		
		shellParent.open();
		shellChild.open();
		shellParent.layout();
		
		//事件循环
		while (!shellParent.isDisposed()||!shellChild.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}
}




  • 大小: 56.7 KB
分享到:
评论

相关推荐

    SWT 基本 窗口 组件

    java SWT 基本窗口 组件 开发

    SWT开发组件demo

    1. **基础组件**:SWT的基础组件包括按钮(Button)、文本框(Text)、单选按钮(RadioButton)、复选框(Checkbox)、列表(List)、组合框(ComboBox)等。这些组件在GUI设计中十分常见,是构建用户交互的基本元素...

    swt 组件介绍

    ### SWT组件介绍 #### 概述 SWT(Standard Widget Toolkit)是一种用于构建Java桌面应用程序的工具包。它提供了一套跨平台的图形用户界面组件,使得开发者能够创建出高性能且外观与本地操作系统一致的应用程序。本...

    SWT常用组件

    ### SWT常用组件详解 SWT(Standard Widget Toolkit)是一种用于构建Java应用程序的用户界面工具包。它提供了丰富的组件集合,这些组件能够很好地适应各种操作系统环境,使得开发的应用程序具有良好的跨平台特性。...

    SWT调用OCX组件DEMO

    1. **SWT的使用**:SWT提供了一系列与操作系统窗口系统直接交互的类和接口,如Button、Text、Shell等,使得开发者能够创建出与本机操作系统一致的用户界面。在SWT中,每个控件都有对应的Java对象,通过这些对象可以...

    学习SWT,RCP的笔记.doc

    4. **setLocation(int x, int y)**: 设置组件在屏幕上的位置。 5. **setEnabled(boolean enabled)**: 设置组件是否可用。 6. **setVisible(boolean visible)**: 设置组件是否可见。 7. **setSelection(boolean ...

    常用SWT组件常用SWT组件

    swt 基础教程 swt 基础教程 swt 基础教程swt 基础教程swt 基础教程

    SWT.rar_swt自定义组件

    1. SWT基础:SWT是Eclipse基金会维护的一个项目,它提供了一系列的类和接口,用于构建跨平台的GUI应用。SWT基于JNI(Java Native Interface),能够直接调用操作系统的API,使Java应用程序的界面与本地应用程序一致...

    SWT控件知识学习笔记

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

    SWT JFACE 编程笔记

    SWT JFACE 编程笔记 , 比较适合刚 解除 java swt jface 的开发人员

    DJNativeSwing-SWT组件-Java GUI中内嵌浏览器相关JAR包

    在"DJNativeSwing-SWT组件-Java GUI中内嵌浏览器相关JAR包"中,"djnativeswing.jar"文件包含了DJNativeSwing的核心库,它提供了与Swing组件集成的基础。"djnativeswing-sw.jar"文件则是DJNativeSwing-SWT的实现,它...

    swt sqlserver分页组件

    1. ** SWT 表格(Table)控件**:这是SWT中用于显示行数据的基础控件。我们可以使用`TableViewer`类来操作表格,添加列、填充数据以及设置各种交互行为。 2. ** SQL 查询**:为了实现分页,我们需要能够根据页码和...

    自定义SWT组件文档,源自Eclispe 官方

    在开发基于SWT (Standard Widget Toolkit) 的图形用户界面应用时,我们通常会利用SWT提供的标准组件。然而,为了满足特定需求或实现独特的功能,有时我们需要创建自定义的SWT组件。本篇文章将深入探讨如何自定义SWT...

    swt,jface笔记

    1. 性能:SWT通过直接调用操作系统API,减少了中间层的开销,提高了GUI组件的运行效率。 2. 原生外观:SWT控件与操作系统环境保持一致,避免了Swing可能存在的“Java感”。 3. 资源管理:SWT对内存和系统资源的管理...

    SWT开发教程1

    1. SWT简介: SWT是由Eclipse基金会维护的,它弥补了Java AWT和Swing在与本地系统交互方面的不足。SWT提供了各种组件,如按钮、文本框、列表、树视图等,这些组件可以构建出复杂的用户界面。SWT利用JNI(Java Native...

    Eclipse开发经典教程:常用SWT组件.pdf

    `Control`类位于SWT组件层次结构的最顶层,如图1所示,它被设计成一个抽象基类,意味着任何具体的窗口组件必须从`Control`派生。这种设计模式确保了所有组件都能共享一组通用的属性和行为,同时也允许每个子类根据...

    SWT中文基础组件教程

    SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。 在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT ...

    swt开发的笔记

    【SWT开发笔记】主要涉及的是Java编程领域中的一门重要技术——Standard Widget Toolkit(SWT)。SWT是Eclipse基金会推出的一个开源GUI库,它为Java开发者提供了一种创建本地化用户界面的方式,与Java Swing相比,...

    SWT和JFACE学习笔记

    SWT (Standard Widget Toolkit) 和 JFace 是 Eclipse 开发平台中的两个重要组件,它们用于构建图形用户界面(GUI)。SWT 是一个与平台相关的库,提供了底层的 GUI 组件,而 JFace 是建立在 SWT 之上的更高层次的抽象...

    swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    标题“swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位”表明这个压缩包包含了适用于64位Windows操作系统的SWT库。描述中提到的“64位windows操作系统使用的SWT库”进一步确认了这一点。 SWT的设计目标是...

Global site tag (gtag.js) - Google Analytics