- 浏览: 150206 次
- 性别:
- 来自: 彩虹之巅
最新评论
-
qq970836452:
[url][img][url][url][img][url][ ...
spring中配置声明式事务的几种方式 -
qq970836452:
[img][/img]
spring中配置声明式事务的几种方式 -
qq970836452:
[*]
spring中配置声明式事务的几种方式 -
qq970836452:
[img]||[/img][img][/img][url][u ...
spring中配置声明式事务的几种方式 -
qq970836452:
[img][/img][img][/img][url][url ...
spring中配置声明式事务的几种方式
import org.eclipse.opengl.GL; import org.eclipse.opengl.GLU; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.events.MouseMoveListener; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.opengl.GLCanvas; public class MouseHandler implements MouseListener, MouseMoveListener { private boolean isMouseDown; //鼠标是否按下 private Point beginPoint; private Point endPoint; private double degtorads = 3.14159265 / 180.0; private Window window; public MouseHandler(Window window) { this.window = window; } public void mouseDoubleClick(MouseEvent e) { //Nothing to do } public void mouseDown(MouseEvent e) { if(e.button == 1) { isMouseDown = true; beginPoint = screenToMode( new Point(e.x, e.y) ); } } public void mouseUp(MouseEvent e) { isMouseDown = false; } public void mouseMove(MouseEvent e) { if(isMouseDown) { GLCanvas canvas = window.canvas; endPoint = screenToMode( new Point(e.x, e.y) ); GL.glClear(GL.GL_COLOR_BUFFER_BIT); GL.glBegin(GL.GL_LINE_STRIP); double r = Math.sqrt((endPoint.x - beginPoint.x) * (endPoint.x - beginPoint.x) + (endPoint.y - beginPoint.y) * (endPoint.y - beginPoint.y)); for(float theta = 0.0f; theta <= 360; theta += 1.0) { GL.glVertex2d(beginPoint.x + r * Math.cos(theta * degtorads), beginPoint.y + r * Math.sin(theta * degtorads)); } GL.glEnd(); canvas.swapBuffers(); } } public Point screenToMode(Point point) { Rectangle rect = window.canvas.getClientArea(); return new Point(point.x - rect.width / 2, (rect.height - point.y) - rect.height / 2); } }
import org.eclipse.opengl.GL; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ControlAdapter; import org.eclipse.swt.events.ControlEvent; import org.eclipse.swt.events.PaintEvent; import org.eclipse.swt.events.PaintListener; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.opengl.GLCanvas; import org.eclipse.swt.opengl.GLData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class Window { private static Window instance = null; public Display display; public Shell shell; public GLCanvas canvas; private Window() { display = new Display(); shell = new Shell(display); createContents(shell); } public void createContents(Composite composite) { composite.setLayout(new FillLayout()); GLData data = new GLData(); data.doubleBuffer = true; canvas = new GLCanvas(composite, SWT.NONE, data); canvas.setCurrent(); canvas.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { update(); } }); canvas.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { update(); } }); MouseHandler mh = new MouseHandler(this); canvas.addMouseListener(mh); canvas.addMouseMoveListener(mh); } public void mainLoop() { while(!shell.isDisposed()) { if(!display.readAndDispatch()) { display.sleep(); } } } public void dispose() { display.dispose(); } public void show() { shell.open(); mainLoop(); dispose(); } public void update() { Rectangle rect = canvas.getClientArea(); GL.glClearColor(1.0f, 1.0f, 1.0f, 0.0f); GL.glColor3f(0.0f, 0.0f, 1.0f); GL.glMatrixMode(GL.GL_PROJECTION); GL.glLoadIdentity(); GL.glOrtho(-rect.width / 2, rect.width / 2, -rect.height / 2, rect.height / 2, -1.0, 1.0); GL.glViewport(0, 0, rect.width, rect.height); GL.glClear(GL.GL_COLOR_BUFFER_BIT); canvas.swapBuffers(); } public static Window getInstance() { if(instance == null) { instance = new Window(); } return instance; } }
public class Test { public static void main(String[] args) { Window window = Window.getInstance(); window.show(); } }
上面的程序是用鼠标画圆的例子,
评论
3 楼
leftwing
2011-11-04
chenleijiangjun 写道
太强啦!能画扇形吗?用world wind更好!谢谢!
扇形肯定没问题啊 把循环的角度上下限改一下就好了
比如我设定vertex的时候,是考虑x、y、z三轴的,所以数组大小事1080,那么循环的时候,比如从270到length-540,就能出来个直角的扇形啦
2 楼
leftwing
2011-11-04
很好 es貌似只能用三角形来画圆了 唉
1 楼
chenleijiangjun
2009-03-25
太强啦!能画扇形吗?用world wind更好!谢谢!
发表评论
-
spring中配置声明式事务的几种方式
2009-06-30 18:31 2902(1)通过TransactionProxyFactoryBea ... -
spring中AOP代理的几种方式
2009-06-24 14:45 4730部分例子摘自 spring in action (1)使用P ... -
hibernate实战(第2版)读书笔记(一)
2009-05-28 09:38 3071最近时间重读hibernate实战(第2版),哈哈,很长时间不 ... -
Windows下VC6配置Opengl开发环境
2009-03-05 08:14 4799最近需要了解下Opengl,于是开始鼓捣Opengl,从网上下 ... -
用SWT写的简单的通讯录
2009-01-19 12:32 1952用SWT写了个简单的通讯录,管理自己的手机号, -
用SWT做的简单的文件浏览器
2009-01-03 17:55 2880一个用swt做的简单的文件浏览器, package hell ... -
hibernate3 one-ton-one总结之关联表关联实现one-to-one
2008-11-08 19:29 1624在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3 one-to-one总结之主外键关联
2008-11-08 19:21 2601在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3 one-to-one总结之共享的关联主键
2008-11-08 19:14 2379在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3中使用hsql的sequence生成主键
2008-10-25 09:58 3063今天,想尝试下使用hsql的sequence来作为hibern ... -
js dtree的简单应用
2008-09-25 19:54 3358前几天在javaeye上看到有这样一个帖子(http://ww ... -
怎么样让ibatis原生支持C3P0
2008-09-03 08:02 2372昨天,在javaeye上看到一个帖子,http://www.i ... -
在IE和Firefox都通用的弹出对话框
2008-08-15 06:44 4442test.html <!DOCTYPE html PUB ... -
JAVA版 俄罗斯方块
2008-07-26 11:00 3777把以前写的程序拿出来晒晒 -
JAVA版 连连看
2008-07-07 20:26 6379以前写的连连看,大家共同玩下。 -
彻底解决超链接提交中文乱码问题
2008-04-26 11:08 27029在网页中的超链接,例如 <a href="/s ... -
使用JAVA在JSP中生成饼图
2008-03-25 16:27 3842通过在服务器端生成图片 然后这样在页面中的图片可以真正的跨浏览 ... -
JSP 分页
2008-02-26 12:59 2890package examples; import java. ... -
设计模式之 Visitor
2007-12-12 14:27 1409package designpattern; pub ... -
设计模式之 Intercepting Filter
2007-12-12 14:13 2397package filter; public int ...
相关推荐
SWT examples,SWT官方例子:http://www.eclipse.org/swt/examples.php 该页面所要下载的例子 其中,swt的例子在\plugins\org.eclipse.swt.examples.source_3.7.0.v3740f.jar中
在这个应用例子中,前端使用SWT来创建用户界面,用户可以通过这个界面进行各种操作。而后端,也就是非用户可见的部分,使用Hibernate来进行数据库操作。这样的设计模式分离了用户界面和业务逻辑,使得代码更易于维护...
在"swt_demo"中,可能包含了使用SWT实现的各种组件实例。 2. JFace: JFace 是构建在 SWT 之上的高级库,旨在简化GUI开发,提供数据绑定、事件处理、视图和编辑器框架等功能。它通过减少代码量和增加代码的可读性...
在"SWT使用例子"这个主题中,我们涵盖了多个核心组件和布局管理器的用法,这些都是构建SWT应用的基本元素。下面将逐一详细解释这些知识点: 1. **Button**: Button是GUI中最基础的元素之一,用于表示用户可以进行的...
在SWT中,Tree组件用于展示层次结构的数据,类似于Windows资源管理器中的文件系统视图。本教程将通过一个完整的SWT Tree实例,帮助新手理解如何创建、操作和自定义SWT Tree。 首先,我们来分析给定的文件列表: 1....
在本示例中,我们关注的是使用SWT(Standard Widget Toolkit)库来创建一个简单的记事本应用。SWT是Java的一个开源GUI库,它为开发者提供了与操作系统更紧密集成的图形用户界面组件。下面,我们将深入探讨SWT、...
在Java编程环境中,SWT(Standard Widget Toolkit)和AWT...总的来说,虽然SWT是Eclipse的主要GUI库,但通过桥接类,我们可以灵活地在SWT环境中使用AWT和SWING组件,以利用它们各自的优势来构建更丰富的用户界面。
在Java项目中使用SWT,首先需要引入SWT库。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.eclipse.swt <artifactId>org.eclipse.swt.win32.win32.x86_64 <version>4.9.1 ...
在Eclipse中,你可以使用JFace库来进一步增强SWT的功能,JFace提供了一些高级组件和数据绑定功能,简化了界面开发。不过,本例主要关注基础的SWT使用。 开始编写SWT程序,你需要导入必要的库: ```java import org...
在SWT中使用OLE操纵Excel入门培训文档,里面整理了很多资源,下载的请使劲戳
在这个“SWT/JFACE 客户端登录窗口例子”中,我们可以预期会看到如何使用这两个库来创建一个基本的登录窗口。通常,这样的窗口会包含用户名和密码输入框,以及登录、取消等按钮。以下是一些可能涉及的知识点: 1. *...
java的一套GUI库,eclipse就是用...这套例子是swt官网上的小型例子,每个文件介绍一个简单的功能。 官方网址 http://www.eclipse.org/swt/snippets/ 需要的界面效果可以再官方网址上找到说明,再查看对应的java文件即可
4. **SWT例子**:资源包中的SWT例子可能包括如何使用SWT创建各种控件、布局管理、事件处理等内容。这些实例可以帮助开发者理解SWT的工作原理,并提供实际操作经验。 5. **Eclipse开发入门**:对于初学者,资源包...
swt中treeview和tableview实例,有助于理解这两个控件的使用。另外附带html页面。。可读性更强。
在本例中,我们使用OLE技术将Excel嵌入到SWT窗口中。OLE技术可以使不同的应用程序之间实现数据的交互和共享,使得应用程序之间的集成变得更加紧密。 知识点四:OleFrame和OleClientSite的使用 在本例中,我们使用...
在压缩包`swt_example`中,可能包含了使用SWT编写的具体代码示例,你可以通过阅读和运行这些代码来深入理解SWT的工作原理和实际应用。SWT的学习和实践对于开发桌面应用程序的Java开发者来说是非常有价值的,它能帮助...
在Eclipse中使用SWT进行界面设计涉及到一系列关键概念和技术,包括SWT的起源与优势、SWT应用程序的组成以及开发环境的配置。 1. 为什么要使用SWT? SWT,全称Standard Widget Toolkit,是由IBM开发的一个跨平台的...
在SWT中,我们可以使用`Browser`类来嵌入浏览器功能。这个类允许在SWT应用中加载和显示HTML页面,支持JavaScript交互,甚至可以执行一些基本的浏览器操作,如前进、后退、刷新和停止加载。 集成浏览器的关键步骤...
在实际项目中,开发者通常会结合JFace库使用SWT,JFace提供了一些高级抽象和便利的功能,如数据绑定、视图和编辑器框架等,简化了SWT的使用。JFace的`ViewPart`和`EditorPart`类可以帮助构建Eclipse插件和RCP(Rich ...
开发者需要64位的Java环境,并将“swt-64.jar”添加到类路径中,以便在他们的应用中使用SWT。通过使用SWT,他们可以创建出既美观又响应迅速的桌面应用,这些应用能够无缝地融入用户的64位Windows环境。