对星期这块的要求无非是以下几个点:
1:支持多语言。
2:支持动态布局。
3:支持任意星期开始。这个解释一下,比如有的国家一个星期的开始是星期一有的是星期日,也有可能是星期X。
老规矩上图,看图说话:
中文环境,星期日为星期开始。
中文环境,星期二为星期开始。
英文环境,星期日为星期开始。
日文环境,星期日为星期开始。
自动适应布局的效果。总体思想是用GridLayout布局。一行七列。为了看得清楚,特意加了BORDER效果。
以下是关键代码:
private void initDayTitle() {
dayTitles = new Label[7];
for (int i = 0; i < dayTitles.length; i++) {
final Label label = new Label(dayTitle, SWT.CENTER);
label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true));
dayTitles[i] = label;
}
DateFormatSymbols dateFormatSymbols = new DateFormatSymbols(locale);
String[] dayNames = dateFormatSymbols.getShortWeekdays();
int minLength = Integer.MAX_VALUE;
for (int i = 0; i < dayNames.length; i++) {
int len = dayNames[i].length();
if (len > 0 && len < minLength) {
minLength = len;
}
}
if (minLength > 2) {
for (int i = 0; i < dayNames.length; i++) {
if (dayNames[i].length() > 0) {
if (locale.equals(Locale.CHINA)) {
if (dayNames[i].length() > 2) {
dayNames[i] = dayNames[i].substring(2, 3);
}
} else {
if (dayNames[i].length() > 0) {
dayNames[i] = dayNames[i].substring(0, 3);
}
}
}
}
}
firstDayOfWeek = basicCalendar.getFirstDayOfWeek();
int d = firstDayOfWeek;
for (int i = 0; i < dayTitles.length; i++) {
Label labelt = dayTitles[i];
labelt.setText(dayNames[d]);
labelt.setBackground(getBackground());
if (d == Calendar.SUNDAY) {
labelt.setForeground(getDisplay().getSystemColor(SWT.COLOR_RED));
} else if (d == Calendar.SATURDAY) {
labelt.setForeground(getDisplay().getSystemColor(SWT.COLOR_GREEN));
} else {
labelt.setForeground(getForeground());
}
d++;
if (d > dayTitles.length) {
d -= dayTitles.length;
}
}
}
分享到:
相关推荐
swt自定义封装的日期时间选择控件,支持选择日期和时间
一个SWT日期时间选择控件类,可方便地加入到自己的代码中,支持拖放
SWT自带的DateTime控件属实不好用,而且无法绑定到其他控件上。因此自己写一个日历控件用着方便,功能大致如下: 1、日历控件可自定义设置常见的几种日期格式; 2、可以绑定注册到其他控件如:文本框、按钮、标签上...
java swt自定义控件java swt自定义控件java swt自定义控件java swt自定义控件
SWT 第三方 date picker RCP
SWT、JFACE控件实例,官方的东西,各种控件例子! 已经把包名等修复好了。直接导入IDE中可以运行。各种效果。
支持功能有: 1. 跨行和跨列功能 2. 页码和页数统计 3. 边距和间距调整 4. 各边框颜色设置 5. 前景和背景颜色 6. 自适应页面大小 .........一个是SWT Report的项目包,另一个是CustomReportTest 类生成的报表
Java使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的...
SWT/JFACE的控件库毕竟有限,在应用开发是我们不可避免地要自己开发一些自定义的控件
只要swt一个jar包即可,无需jacob,jna,jni等等,方法很简单
此例子完整的包含了swt 所需的jar文件及执行jar文件的bat文件。展示了swt 时间选择控件及其他控件的用法,以及TimerTask的用法。
swt&jface英文教程 书名:The Definitive Guide to SWT and JFace by:by Robert Harris and Rob Warner
swt design for eclipse 3.2
java浏览器控件 swt.jar 下载
对swt和jface中各种控件有详细的说明
对于swt控件知识的部分整理,有助于对其的学习。
第4章 使用基本控件与对话框.pdf 第4章 使用基本控件与对话框.pdf eclipse插件开发笔记,使用基本控件与对话框
NULL 博文链接:https://liuxiaobin1023-163-com.iteye.com/blog/1144212
最完美SWT的教程。 SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。 在SWT之前,Sun已经提供了一个跨平台GUI开发...