自大的人只想着怎么把面子保住,自强的人只想着怎么把事办好!
自大的人只想着怎么把面子保住,自强的人只想着怎么把事办好!
BlogJava
首页
新随笔
联系
聚合
管理
posts - 1, comments - 25, trackbacks - 0
打造完美SWT日期选择控件
年月控制这部分分为控制按钮,月下拉列表和年Spinner(翻译为微调控制器。。。。。。。)。控制按钮没什么好说的,无非就是控制加一减一,注意边界循环就可以了。
Spinner的用法很简单,看下代码:
yearChooser
=
new
Spinner(yearMonthChooser, SWT.READ_ONLY
|
SWT.BORDER);
//初始化,只读,带边框
yearChooser.addSelectionListener(
new
SelectionAdapter()
...
{
public
void
widgetSelected(SelectionEvent e)
...
{
int
n
=
yearChooser.getSelection();
basicCalendar.set(Calendar.YEAR, n);
yearChooser.setSelection(n);
setDays();
}
}
);
//加上选择事件监听
yearChooser.setMaximum(
3000
);//设置上限
yearChooser.setMinimum(
1899
);//设置下限
yearChooser.setIncrement(
1
);//步进值
yearChooser.setPageIncrement(
10
);//这个是按下pageup和pagedown时的步进值
yearChooser.setSelection(basicCalendar.get(Calendar.YEAR));//选择当前年
月的下拉列表看似简单实则不然,因为我们要考虑国际化的问题。
以上是中文环境和英文环境下的测试效果。关键点是:月的信息从Locale中取。以下是关键代码:
private
void
initMonth() {
DateFormatSymbols dateFormatSymbols
=
new
DateFormatSymbols(locale);
String[] monthNames
=
dateFormatSymbols.getMonths();
int
month
=
monthChooser.getSelectionIndex();
if
(monthChooser.getItemCount()
>
0
) {
monthChooser.removeAll();
}
for
(
int
i
=
0
; i
<
monthNames.length; i
++
) {
String name
=
monthNames[i];
if
(name.length()
>
0
) {
monthChooser.add(name);
}
}
if
(month
<
0
) {
month
=
0
;
}
else
if
(month
>=
monthChooser.getItemCount()) {
month
=
monthChooser.getItemCount()
-
1
;
}
monthChooser.select(month);
}
posted on 2008-03-10 22:53
Daniel
阅读(344)
评论(0)
编辑
收藏
所属分类:
SWT
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
相关文章:
Add scroll bar to Composite.
打造完美SWT日期选择控件
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔档案
2006年5月 (1)
文章分类
CoreJava(23)
DB(2)
Eclipse的相关(18)
File Version Control(1)
JAVA2一些基本语法(1)
JS(1)
Maven2(1)
SWT(2)
Web Test Framework(1)
WebService(5)
XML(1)
文章档案
2013年4月 (1)
2012年7月 (1)
2012年6月 (2)
2012年4月 (1)
2011年12月 (2)
2011年8月 (2)
2011年5月 (6)
2011年4月 (1)
2011年1月 (1)
2010年12月 (2)
2010年11月 (1)
2010年10月 (2)
2010年9月 (2)
2010年8月 (3)
2009年12月 (3)
2009年11月 (1)
2009年8月 (1)
2009年6月 (1)
2009年3月 (3)
2008年10月 (4)
2008年8月 (5)
2008年7月 (1)
2008年5月 (3)
2008年3月 (3)
2007年10月 (1)
2007年5月 (2)
2006年5月 (3)
相册
Fitment
Gril
搜索
最新评论
1. re: Java Path[未登录]
Very helpful, 3ks a lot
--coder
2. re: MyEclipse + AXIS2
评论内容较长,点击标题查看
--wangqf
3. re: JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )
写得挺好的,容易理解。
--陈同兵
4. re: 获得当前运行jar包存放路径的方法
评论内容较长,点击标题查看
--mu
5. re: MyEclipse + AXIS2
从tomcat中的axis2 web应用WEB-INF/lib目录中加载所有jar包到项目的classpath中。
能不能具体说说怎么做?我将jar文件全部拷贝到项目的lib里……不行
--zmaike