`

SWT学习笔记7——组件背景图片,鼠标事件,鼠标样式

 
阅读更多



import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.SWT;
import org.eclipse.wb.swt.SWTResourceManager;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.MouseTrackListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;


/**
 * 测试SWT中鼠标事件的监听,组件背景颜色、背景图片的设置、鼠标样式的更改
 * @author LC
 *version: 2012_03_31
 */
public class TestComposite_Color_BackgroundImage_Mouse {
	static Display display = Display.getDefault();

	//三种获取鼠标的方式,第三种为自定义
	static Cursor handCursor=new Cursor(Display.getDefault(), SWT.CURSOR_HAND);
	static Cursor crossCursor=display.getSystemCursor(SWT.CURSOR_CROSS);
	static Cursor myCursor=new Cursor(display, new ImageData("hu.jpg"), 10, 10);
	
	public static void main(String[] args) {
		final Shell shell = new Shell();
		shell.setImage(SWTResourceManager.getImage("hu.jpg"));
		shell.setSize(450, 300);
		shell.setText("测试SWT组件的颜色、背景图片、鼠标样式");
		
		//组件一
		Composite composite = new Composite(shell, SWT.NONE);
		composite.setBackground(SWTResourceManager.getColor(SWT.COLOR_LIST_SELECTION));//设置背景颜色
		composite.setBounds(10, 24, 113, 118);
//		composite.addMouseMoveListener(new MouseMoveListener() {
//			@Override
//			public void mouseMove(MouseEvent e) {
//				System.out.println("MouseMove:\n\t"+e);				
//			}
//		});
			
		//鼠标事件监听
		composite.addMouseTrackListener(new MouseTrackListener() {
			
			@Override
			public void mouseHover(MouseEvent e) {
				System.out.println("MouseHover:\n\t"+e);				
			}
			
			@Override
			public void mouseExit(MouseEvent e) {
				shell.setCursor(display.getSystemCursor(SWT.CURSOR_ARROW));//设置鼠标样式用该函数
				System.out.println("MouseExit:\n\t"+e);				
				
			}
			
			@Override
			public void mouseEnter(MouseEvent e) {
				shell.setCursor(myCursor);
				System.out.println("MouseEnter:\n\t"+e);				
				
			}
		});
		//组件二
		final Composite composite_1 = new Composite(shell, SWT.NONE);
		composite_1.setBackgroundImage(SWTResourceManager.getImage("hu.jpg"));//设置背景图片
		composite_1.setBounds(151, 24, 190, 199);
		
		Button button = new Button(composite_1, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				if(composite_1.getCursor()!=handCursor)
				composite_1.setCursor(handCursor);
				else composite_1.setCursor(crossCursor);
				
			}
		});
		button.setBounds(53, 98, 108, 27);
		button.setText("点我切换鼠标样式");

		shell.open();
		shell.layout();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}
}
  • 大小: 92 KB
分享到:
评论
1 楼 sam301 2013-01-20  
好用,不客气了,我拿走了。 

相关推荐

    学习SWT,RCP的笔记.doc

    7. **setSelection(boolean selected)**: 设置组件是否被选中。 8. **setAlignment(int alignment)**: 设置文本对齐方式。 9. **setForeground(Color color)**: 设置前景色。 10. **setBackground(Color color)**: ...

    SWT控件知识学习笔记

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

    SWT 基本 窗口 组件

    java SWT 基本窗口 组件 开发

    swt学习笔记摘录(入门程序)

    - **org.eclipse.swt.event**: 提供事件处理机制,包括MouseListener、MouseMoveListener等监听器和对应事件对象。 - **org.eclipse.swt.graphics**: 提供图形相关的API,包括图像、光标、字体和绘图功能。 - **org....

    SWT和JFACE学习笔记

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

    SWT开发组件demo

    7. **布局管理(Layout)**:SWT中的布局管理器(如FillLayout、GridLayout、 MigLayout等)负责决定组件在容器中的位置和大小。正确地使用布局管理器,可以使界面看起来整洁且适应不同屏幕尺寸。 8. **选项卡...

    SWT常用组件

    ### SWT常用组件详解 SWT(Standard Widget Toolkit)是一种用于构建Java应用程序的用户界面工具包...以上是对SWT中常用组件的详细介绍,包括它们的样式、方法及示例代码,希望能帮助开发者更好地理解和使用这些组件。

    swt form

    5. 自定义组件:如果标准组件不能满足需求,开发者可以创建自定义组件,继承自SWT提供的基类,添加自己的行为和样式。 6. SWT与JavaFX或Swing的区别:SWT以其与操作系统更紧密的集成和更好的性能著称,而JavaFX和...

    swt 组件介绍

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

    swt入门学习资料

    错误,提示找不到相应的库。这是因为 SWT 库依赖于本地操作系统,需要对应操作系统的动态链接库(DLL)。对于Windows系统,需要 swt_win32.dll,而...通过学习 SWT,开发者可以创建出既美观又高效的跨平台应用程序。

    SWT JFace 按键、事件、监听

    通过以上介绍,我们可以看出SWT为开发者提供了一套全面的键盘和鼠标事件处理机制,这对于构建功能丰富且用户体验良好的应用程序来说是非常重要的。开发者可以根据不同的需求选择合适的事件监听器,以实现所需的功能...

    SWT.rar_swt自定义组件

    本资源“SWT.rar_swt自定义组件”是一个关于如何在Eclipse中利用SWT来创建自定义控件的学习资料,特别适合初学者探索和实践。 1. SWT基础:SWT是Eclipse基金会维护的一个项目,它提供了一系列的类和接口,用于构建...

    swt背景拖动不将图片拖出窗口

    在SWT(Standard Widget Toolkit)中,开发GUI应用程序时,我们可能会遇到需要让背景图片能够随着窗口拖动而移动的情况,但同时要确保图片不会超出窗口边界。标题"swt背景拖动不将图片拖出窗口"正是针对这一需求提出...

    swt事件处理的编码实现

    在给定的标题和描述中,我们关注的是鼠标的双击事件、键盘监听以及组件选择事件的处理。以下是这些事件的详细说明: 1. **鼠标双击事件**: 在SWT中,我们可以通过实现`MouseListener`接口来监听鼠标事件。`...

    swt开发的笔记

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

    常用SWT组件常用SWT组件

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

    swt sqlserver分页组件

    4. **事件监听**:为SWT的表格添加事件监听器,如页码改变或每页记录数更改,以便更新查询并刷新表格显示。 5. **性能优化**:在处理大数据量时,避免一次性加载所有数据至关重要。使用分页可以减少内存占用,并...

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

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

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

    7. **`setBackground(Color color)`**:定义组件的背景色。同样地,参数`color`也是一个`Color`对象,它决定了组件的底色。 8. **`setCursor(Cursor cursor)`**:更改组件上的鼠标光标样式。参数`cursor`是一个`...

Global site tag (gtag.js) - Google Analytics