- 浏览: 148747 次
- 性别:
- 来自: 彩虹之巅
最新评论
-
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 2845(1)通过TransactionProxyFactoryBea ... -
spring中AOP代理的几种方式
2009-06-24 14:45 4686部分例子摘自 spring in action (1)使用P ... -
hibernate实战(第2版)读书笔记(一)
2009-05-28 09:38 3030最近时间重读hibernate实战(第2版),哈哈,很长时间不 ... -
Windows下VC6配置Opengl开发环境
2009-03-05 08:14 4726最近需要了解下Opengl,于是开始鼓捣Opengl,从网上下 ... -
用SWT写的简单的通讯录
2009-01-19 12:32 1914用SWT写了个简单的通讯录,管理自己的手机号, -
用SWT做的简单的文件浏览器
2009-01-03 17:55 2834一个用swt做的简单的文件浏览器, package hell ... -
hibernate3 one-ton-one总结之关联表关联实现one-to-one
2008-11-08 19:29 1586在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3 one-to-one总结之主外键关联
2008-11-08 19:21 2563在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3 one-to-one总结之共享的关联主键
2008-11-08 19:14 2339在hibernate3中,one-to-one关联主要通过3种 ... -
hibernate3中使用hsql的sequence生成主键
2008-10-25 09:58 3021今天,想尝试下使用hsql的sequence来作为hibern ... -
js dtree的简单应用
2008-09-25 19:54 3272前几天在javaeye上看到有这样一个帖子(http://ww ... -
怎么样让ibatis原生支持C3P0
2008-09-03 08:02 2339昨天,在javaeye上看到一个帖子,http://www.i ... -
在IE和Firefox都通用的弹出对话框
2008-08-15 06:44 4399test.html <!DOCTYPE html PUB ... -
JAVA版 俄罗斯方块
2008-07-26 11:00 3720把以前写的程序拿出来晒晒 -
JAVA版 连连看
2008-07-07 20:26 6293以前写的连连看,大家共同玩下。 -
彻底解决超链接提交中文乱码问题
2008-04-26 11:08 26960在网页中的超链接,例如 <a href="/s ... -
使用JAVA在JSP中生成饼图
2008-03-25 16:27 3785通过在服务器端生成图片 然后这样在页面中的图片可以真正的跨浏览 ... -
JSP 分页
2008-02-26 12:59 2858package examples; import java. ... -
设计模式之 Visitor
2007-12-12 14:27 1365package designpattern; pub ... -
设计模式之 Intercepting Filter
2007-12-12 14:13 2355package 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和JFACE的例子,包括Table,Tree,List等等,真心不错的!
swt创建tree的例子 swt创建tree的例子 swt创建tree的例子
完整的用SWT树例子源码,有注释,实现联动。结构清晰,适合新手使用。
Button,Label,Text,Combo,List,Menu,Composite,Group,TabItem,FillLayout,SWT监听事件的使用等等例子!
在SWT中使用OLE操纵Excel入门培训文档,里面整理了很多资源,下载的请使劲戳
前台为SWT界面,后台线程通过hibernate实现数据库操作
java的一套GUI库,eclipse就是用...这套例子是swt官网上的小型例子,每个文件介绍一个简单的功能。 官方网址 http://www.eclipse.org/swt/snippets/ 需要的界面效果可以再官方网址上找到说明,再查看对应的java文件即可
编写的java桌面程序,通过SWT的GUI组件做的记事本
NULL 博文链接:https://wenhai.iteye.com/blog/697993
swt中treeview和tableview实例,有助于理解这两个控件的使用。另外附带html页面。。可读性更强。
SWT 无疑是迄今写图形化界面最好的工具了,这个是在eclipse工具下写的SWT例子,希望和大家一起进步,项目中如果要使用SWT的可以学习一下 :>
它是什么? 修订了SWT的GLCanvas的嵌入式实现。 它对我有什么帮助? 支持: 创建OpenGL 3.0和3.2核心/... 在您现有的SWT应用程序中,只需将所有org.eclipse.swt.opengl.*导入替换为org.lwjgl.opengl.swt.* 。 新的
SWT中文教程.rar/////SWT中文教程.rar
使用java swt编写界面的一些代码!
SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法
Eclipse+SWTJFace开发实战精解,SWT例子,Eclipse开发入门与项目实践+源代码
SWT和Jface开发使用必使用jar包之:equinox包,配合其他jar包一起使用
非常不错的java swt 中文文档
发现网上没有传类似的例子,特传个简单的例子,希望能帮助需要的人。