- 浏览: 564757 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (344)
- ··············未分类············· (33)
- Eclipse 插件 (15)
- EDA 工具 (1)
- Linux/Unix (3)
- Java (43)
- Java Applet (1)
- Java Draw2d (22)
- Java Draw2d version2 (6)
- Java GEF (2)
- Java SWT (21)
- Java SWT Image 图像 (21)
- Java SWT Tree (16)
- Java SWT Table (4)
- Java SWT TableViewer (11)
- Java SWTbot (4)
- Java Test (2)
- Java Thread 多线程 (22)
- Java Zest (5)
- RC2_3S400学习笔记 (16)
- tcl 脚本 (10)
- Verilog (7)
- XML (6)
- 国家 (5)
- 感叹 (4)
- 面试题 (9)
- 生活 (36)
- 足球 世界杯 (8)
- 老公看你的 (3)
- web开发 (1)
- 数据结构——图 (7)
- c language (1)
最新评论
-
zxjlwt:
路过素人派http://surenpi.com
SWT 树的事件 SWT.Selection SWT.CHECK SWT.DefaultSelection -
hj01kkk:
1楼用法正解
JDK 7 中的 Fork/Join 模式 -
fish_no7:
使用 new SortTask().fork()
JDK 7 中的 Fork/Join 模式 -
wpf523:
mark
Java 多线程例子6 线程安全 线程同步 同步代码块 同步函数 -
uniquejava:
以前碰到过,估计是在icu包中实现了双击自动选中一段文本的功能 ...
java.lang.NoClassDefFoundError: com/ibm/icu/text/BreakIterator
public class Sample2 { private Color black = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK); private Color white = Display.getCurrent().getSystemColor(SWT.COLOR_WHITE); private Color yellow = Display.getCurrent().getSystemColor(SWT.COLOR_YELLOW); private Color red = Display.getCurrent().getSystemColor(SWT.COLOR_RED); private Color blue = Display.getCurrent().getSystemColor(SWT.COLOR_BLUE); private Color green = Display.getCurrent().getSystemColor(SWT.COLOR_GREEN); Timer timer; int x,y,x0,y0,r,h,olds_x,olds_y,oldm_x,oldm_y,oldh_x,oldh_y,ss,mm,hh,old_m,old_h,ang; final double RAD = Math.PI/180; // public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); new Sample2().createArea(shell); // shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } private void createArea(Shell shell) { shell.setText("Sample"); shell.setLayout(new GridLayout()); shell.setSize(400, 400); // parent.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK)); Composite container = new Composite(shell, SWT.BORDER); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; gridLayout.marginLeft = 10; gridLayout.marginRight = 10; gridLayout.marginHeight = 10; gridLayout.marginWidth = 10; gridLayout.verticalSpacing=0; container.setLayout(gridLayout); GridData gridData = new GridData(GridData.FILL_BOTH); container.setLayoutData(gridData); final Canvas drawingCanvas = new Canvas(container, SWT.BORDER); gridData = new GridData(GridData.FILL_BOTH); drawingCanvas.setLayoutData(gridData); drawingCanvas.setBackground(black); addPaintListener(drawingCanvas); int delay = 1000; ActionListener drawClock = new ActionListener() { public void actionPerformed(ActionEvent evt) { Display.getDefault().syncExec(new Runnable() { public void run() { if(drawingCanvas.isDisposed()) return; drawingCanvas.redraw(); } }); } }; timer = new Timer(delay,drawClock); timer.start() ; } protected void addPaintListener(Canvas drawingCanvas) { drawingCanvas.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { e.gc.setForeground(white); Point size = ((Canvas) e.widget).getSize(); int radius = (Math.min(size.x,size.y)-40)/2; Point center = new Point(size.x/2,size.y/2); e.gc.setLineCap(SWT.CAP_ROUND); e.gc.setLineWidth(3); //drawOval (int x, int y, int width, int height) e.gc.drawOval(center.x-radius, center.y-radius, 2*radius, 2*radius); e.gc.setLineWidth(1); e.gc.setForeground(red); e.gc.setForeground(yellow); //int radius = x0=center.x; y0=center.y; r=radius; h=center.y + radius + 15; ang=60; for (int i=1; i<=12; i++) { x=(int)((r+10)*Math.cos(RAD*ang)+x0); y=(int)((r+10)*Math.sin(RAD*ang)+y0); e.gc.drawString(""+i,x,h-y); ang-=30; } Calendar now = new GregorianCalendar(); int nowh = now.get(Calendar.HOUR_OF_DAY ); int nowm = now.get(Calendar.MINUTE ); int nows = now.get(Calendar.SECOND ); String st; if(nowh<10) st = "0"+nowh ; else st = ""+nowh; if(nowm<10) st += ":0"+nowm; else st += ":"+nowm; if(nows<10) st += ":0"+nows; else st += ":"+nows; // System.out.println(st); e.gc.setBackground(green); e.gc.fillRectangle(0+4,0+4,50,14); e.gc.setForeground(blue); e.gc.drawString(st,0+5,0+5); ss = 90-nows*6; mm = 90-nowm*6; hh = 90-nowh*30-nowm/2; x0=center.x; y0=center.y; // g2D.setStroke(new BasicStroke(1.2f)); if(olds_x > 0) { e.gc.setForeground(black); e.gc.drawLine(x0,y0,olds_x,h-olds_y); } else { old_m = mm; old_h = hh; } x = (int)(r*0.8*Math.cos(RAD*ss))+x0; y = (int)(r*0.8*Math.sin(RAD*ss))+y0; e.gc.setForeground(yellow); e.gc.drawLine(x0,y0,x,h-y); olds_x = x; olds_y = y; e.gc.setLineWidth(2); if(old_m!=mm) { e.gc.setForeground(black); e.gc.drawLine(x0,y0,oldm_x,h-oldm_y); } x = (int)(r*0.6*Math.cos(RAD*mm))+x0; y = (int)(r*0.6*Math.sin(RAD*mm))+y0; e.gc.setForeground(green ); e.gc.drawLine(x0,y0,x,h-y); oldm_x = x; oldm_y = y; old_m = mm; e.gc.setLineWidth(3); if(old_h!=hh) { e.gc.setForeground(black); e.gc.drawLine(x0,y0,oldh_x,h-oldh_y); } x = (int)(r*0.5*Math.cos(RAD*hh))+x0; y = (int)(r*0.5*Math.sin(RAD*hh))+y0; e.gc.setForeground(red ); e.gc.drawLine(x0,y0,x,h-y); oldh_x = x; oldh_y = y; old_h = hh; } }); } }
效果图:
感觉还行,是仿照书上的一个例子写的,书上使用swing实现的。
发表评论
-
定制tooltip
2013-10-06 18:17 751public class HelloToolTip { ... -
java SWT StackLayout
2013-09-16 17:40 864public class UsingStackLayout ... -
JFace snippet
2013-01-31 11:00 1416附件有org.eclipse.jface.snippets, ... -
SWT 中Button和Label重叠放置
2011-12-30 17:18 2716写了一个小例子: public class Snipp ... -
SWT DND的Snippet 和 剪贴板
2011-11-15 19:50 2266链接:http://www.eclipse.org/swt/s ... -
display.getSystemColor 中的颜色
2011-10-28 20:41 1275记得以前好像记录过,就是找不到了。 public c ... -
SWT程序需要导入的jar
2011-10-12 18:04 11911,org.eclipse.swt.win32.x86_xxx ... -
用滚动的字符表示Task的运行,比较ProgressMonitorDialog
2011-08-16 17:55 3232JFace中的提供的ProgressMonitorDialog ... -
SWT 的对话框模式与非模式
2011-05-24 16:03 1998关键字:SWT 对话框 模式 非模式 SWT.MODELESS ... -
Java SWT SWTChart坐标图
2010-12-13 14:02 4551关键字: SWTChart 坐标图 链接:http://w ... -
java.lang.NoClassDefFoundError: com/ibm/icu/text/BreakIterator
2010-11-25 14:00 3224关键字:java.lang.NoClassDefFoundE ... -
类似百度和谷歌那样的自动提示组合框
2010-09-30 14:04 1380问题:http://www.iteye.com/problem ... -
SWT表格列随着控件变化自动变化
2010-07-08 17:23 2131源程序来自:snippet77 /********** ... -
一个日历程序 可农历到公历 公历到农历 第几周 显示节气
2010-07-02 20:01 2628public class Sample3 { privat ... -
Image中的transformation理解【swt.snippet】
2010-07-02 17:48 1546/****************************** ... -
计分器
2010-07-02 17:28 1180代码: public class Sample1 { p ... -
SWT资料
2010-06-30 19:24 871SWT-jface一些例子: http://www.j ... -
事件管理器 4个象限【还没有完成】
2010-06-23 17:12 11841,改完成了一个大概的样子,还要把Text改成List,可以添 ... -
利用SWT内部的图标
2010-06-23 16:55 2950import org.eclipse.swt.SWT; im ... -
SWT 浏览器
2010-06-23 16:48 2806这个来自书上的一个例子: package firstSWT ...
相关推荐
【简易时钟程序-VC6.0实现】 在编程领域,创建一个时钟程序是学习基础知识的常见练习。本项目是使用Visual C++ 6.0(简称VC6.0)开发的一个简单时钟程序,它能显示当前系统时间,并且实时更新。尽管这个程序非常...
在本实验中,我们将设计一个动态时钟程序,利用Java的多线程特性来模拟时钟的指针移动。这个程序的核心在于理解和运用Java线程的相关知识点,包括线程的创建、调度、同步以及生命周期管理。以下是关于这些知识点的...
本篇文章将详细讲解如何利用C51单片机编写一个简单的时钟程序,这对于初学者来说是一次很好的实践机会。 首先,理解8051单片机的架构至关重要。8051内含一个8位CPU、4KB的ROM(或EPROM)、128B的RAM、32个I/O引脚,...
这个“用C#编写的简单的时钟程序”是为初学者设计的一个实例,旨在帮助他们更好地理解和掌握C#编程的基础知识。 首先,创建一个时钟程序涉及到的主要知识点包括: 1. **C#基础语法**:理解C#的基本结构,如类...
本资源是关于基于51单片机的电子时钟程序,旨在实现一个基本的电子时钟,显示小时和分钟,并以最后一位的小数点闪烁一次表示一秒。按下INT0键后显示日期。并在所设定的时间蜂铃器响5次以此为闹钟;按下INT1键后,可...
【标题】"简单时钟程序-clock.rar"是一个包含基本时钟功能的应用程序,可能是由一个初学者或爱好者创建的。这个项目可能旨在帮助开发者学习如何在编程中实现时间显示功能,或者是作为个人项目的初次尝试。 【描述】...
mfc写的一个时钟小程序
在本文中,我们将深入探讨如何使用C++编程语言和Microsoft Foundation Classes (MFC)库来创建一个指针式简易时钟程序。MFC是微软提供的一套C++类库,它封装了Windows API,简化了Windows应用程序的开发。 首先,...
"最简单的时钟.rar"这个压缩包文件似乎包含了一个简易时钟程序的相关资源。虽然描述内容重复,并没有提供额外信息,但我们可以从标题和标签中推测出一些IT相关的知识点。 首先,我们要理解“时钟”在计算机编程中的...
本项目"基于AVR的简易时钟程序"旨在为初学者提供一个理解嵌入式系统和AVR编程的基础平台。时钟程序是嵌入式系统中常见的应用,它通过内部的定时器/计数器来实现时间的精确测量和显示。 首先,我们需要了解AVR的...
这个"简单的电子时钟程序源码"就是一个很好的学习实例,它使用了C#语言,并基于.Net 4.0框架的Winform平台构建。Winform是微软提供的一种用于开发桌面应用程序的用户界面框架,它允许开发者创建具有丰富图形界面的...
这个是用C语言编写的 一个时钟电路的程序,软件仿真和硬件都通过,可以直接使用。。。
【Java大作业——一个时钟程序】 在Java编程学习中,设计一个时钟程序是一项常见的实践任务,旨在帮助学生巩固面向对象编程的概念、线程处理以及用户界面设计。这个Java大作业可能涉及到以下几个核心知识点: 1. *...
本篇文章将聚焦于如何使用Microsoft Foundation Classes (MFC)库来创建一个简单的模拟时钟程序,该程序能够实时显示当前时间,提升开发者对MFC的理解。 MFC是微软提供的一套C++类库,用于简化Windows应用程序开发。...
在Java编程语言中,创建一个简单的时钟程序是一项常见的练习,可以帮助初学者更好地理解线程、GUI设计以及日期和时间处理。在这个项目中,我们有一个包含界面时钟的小型Java程序,它能够实时显示数字时间,包括小时...
通过以上步骤,一个简单的MFC指针式时钟程序就完成了。这个过程不仅涉及到了MFC的基本使用,也涵盖了Windows消息循环、定时器机制以及图形绘制等方面的知识。对于初学者来说,这个项目既具有实践性,又能够帮助理解...
在这个“mfc编写的时钟程序”中,我们主要探讨的是如何使用MFC框架来实现一个简单的桌面时钟应用。 1. **MFC框架介绍**: MFC提供了一系列预先定义的类,这些类代表了Windows操作系统的核心对象,如窗口、菜单、...
时钟程序是51单片机开发中的一个重要实践项目,它可以帮助开发者掌握基础的编程技巧和硬件控制能力。本文将深入探讨51单片机时钟程序的相关知识点。 首先,51单片机是Intel公司8051系列的CISC(复杂指令集计算)微...
在本项目中,我们将探讨如何利用C++构建一个功能完备的桌面时钟程序,该程序不仅显示当前时间,还包含自定义logo以及闹钟功能。 首先,我们需要理解C++中的时间处理。在C++标准库中,`<chrono>`头文件提供了处理...
在时钟程序中,可能需要设置一个定时中断,定期更新LCD上的时间显示。 8. **LCD驱动编程**:1602 LCD的驱动编程包括初始化LCD、发送命令和数据、移动光标、清屏等功能。这些都需要了解LCD的指令集,并正确地在MSP...