* @author mic_scofield
package com.mic_scofield.cn;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class AboutDialog extends TitleAreaDialog {
private String versionStr;
private final static String VERSION_CONFIG_DLL_PATH = "config/Version.xml";
/**
* Create the dialog.
* @param parentShell
*/
public AboutDialog(Shell parentShell) {
super(parentShell);
}
/**
* Create contents of the dialog.
* @param parent
*/
@Override
protected Control createDialogArea(Composite parent) {
this.getShell().setText("\u5173\u4e8e...");
setTitle("\u5173\u4E8E\u5BF9\u8BDD\u6846\u63D0\u793A\u4FE1\u606F\uFF0C\u53EF\u4EE5\u662F\u516C\u53F8\u6807\u5FD7\u6216\u8005\u5168\u79F0");
Composite area = (Composite) super.createDialogArea(parent);
Composite container = new Composite(area, SWT.NONE);
container.setLayoutData(new GridData(GridData.FILL_BOTH));
{
GridData gridData = new GridData(GridData.FILL_BOTH);
gridData.heightHint = 366;
gridData.grabExcessVerticalSpace = false;
container.setLayoutData(gridData);
}
{
Label lblVersionTitle = new Label(container, SWT.NONE);
lblVersionTitle.setBounds(20, 10, 221, 19);
//TODO
lblVersionTitle.setText("\u7248\u672c:");
}
{
Label lblVersionValue = new Label(container, SWT.NONE);
lblVersionValue.setBounds(66, 35, 468, 29);
versionStr = readVersionInfo();
lblVersionValue.setText(versionStr);
}
{
Label lblWorkingDirectoryTitle = new Label(container, SWT.NONE);
lblWorkingDirectoryTitle.setBounds(20, 70, 221, 19);
//TODO
lblWorkingDirectoryTitle.setText("\u8fd0\u884c\u8def\u5f84:");
}
{
Label lblWorkingDirectoryValue = new Label(container, SWT.NONE);
lblWorkingDirectoryValue.setBounds(66, 95, 468, 45);
lblWorkingDirectoryValue.setText(System.getProperty("user.dir")); //$NON-NLS-1$
}
return area;
}
/**
* Create contents of the button bar.
* @param parent
*/
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
true);
createButton(parent, IDialogConstants.CANCEL_ID,
IDialogConstants.CANCEL_LABEL, false);
}
/**
* Return the initial size of the dialog.
*/
@Override
protected Point getInitialSize() {
return new Point(450, 300);
}
private String readVersionInfo()
{
SAXReader saxReader = new SAXReader();
Document doc = null;
StringBuffer valueStr;
File file = new File(VERSION_CONFIG_DLL_PATH);
try
{
doc = saxReader.read(file);
Element eleCmd = (Element)doc.selectSingleNode("version"); //$NON-NLS-1$
valueStr = new StringBuffer(eleCmd.attributeValue("value")); //$NON-NLS-1$
String dateStr = eleCmd.attributeValue("date"); //$NON-NLS-1$
valueStr.append(" "); //$NON-NLS-1$
valueStr.append(dateStr);
}
catch (DocumentException e1)
{
//TODO log
return null;
}
return valueStr.toString();
}
}
Version.xml
<?xml version="1.0" encoding="UTF-8"?>
<version value="V01B001C0001" date="2010-5-31"/>
分享到:
相关推荐
标题“swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位”表明这个压缩包包含了适用于64位Windows操作系统的SWT库。描述中提到的“64位windows操作系统使用的SWT库”进一步确认了这一点。 SWT的设计目标是...
org.eclipse.swt.SWT.class org.eclipse.swt.SWTError.class org.eclipse.swt.SWTException.class org.eclipse.swt.accessibility.ACC.class org.eclipse.swt.accessibility.Accessible.class org.eclipse.swt....
### SWT JFace 按键、事件、监听 #### 概述 SWT(Standard Widget Toolkit)是Eclipse平台下的图形界面开发工具包,而JFace则是基于SWT之上的高级用户界面工具集。SWT提供了低级别的组件,用于创建跨平台的图形...
Java SWT(Standard Widget Toolkit)是Java平台上用于创建桌面应用程序的一个库,它提供了丰富的用户界面元素,如按钮、文本框、列表等。SWT是Eclipse IDE的基础,它通过与操作系统直接交互来提供本地化的图形用户...
### SWT Widgets 基本教程知识点详解 #### 1. 概述 SWT (Standard Widget Toolkit) 是 Eclipse 平台的一部分,它提供了一系列的 GUI 组件,允许开发者构建跨平台的应用程序。SWT 的主要优势在于其原生外观和高性能...
在标题提到的"swt源码和jar包dj-native-swing-swt.jar"中,"dj-native-swing-swt.jar"是一个特殊的库,它结合了SWT和JNativeSwing,允许在Java Swing应用中嵌入SWT组件。这使得开发者可以在同一应用程序中同时使用...
Java平台上的图形用户界面(GUI)开发通常依赖于各种库和框架,DJNativeSwing和SWT(Standard Widget Toolkit)是其中两个重要的组件。本文将详细介绍这三个提及的JAR文件以及它们在Java应用中的作用。 首先,...
SWT(Standard Widget Toolkit)是Eclipse项目提供的一种用于创建图形用户界面(GUI)的开源库,它在Java平台上提供了与本机系统更紧密的集成。然而,SWT应用程序可能会遇到内存泄露问题,这会导致程序运行缓慢,...
**SWT 插件包(Windows 环境)** SWT,全称为Standard Widget Toolkit,是Java编程语言中用于创建图形用户界面(GUI)的一个开源库。它由Eclipse基金会维护,主要用于Eclipse集成开发环境(IDE)以及其他Java应用...
SWT(Standard Widget Toolkit)是Eclipse开源组织提供的一款用于创建Java图形用户界面(GUI)的库,它是Java AWT和Swing之外的一个选择。SWT设计的目标是提供更高效、更原生的UI体验,因为它直接与操作系统API交互...
下载编译的SWT库,版本号4.911,包含多个版本: org.eclipse.swt.cocoa.macosx.x86_64 org.eclipse.swt.gtk.linux.aarch64 org.eclipse.swt.gtk.linux.arm org.eclipse.swt.gtk.linux.ppc64le org.eclipse.swt.gtk....
根据提供的文件信息,可以看出本文主要讨论的是如何在 SWT (Standard Widget Toolkit) 的 Table 控件中实现文本换行的功能。SWT 是一个用于开发基于 Java 的桌面应用程序的工具包,它提供了丰富的用户界面组件来帮助...
在IT行业中,SWT(Standard Widget Toolkit)和Applet是两种不同的技术,它们都可以用于创建交互式的用户界面。本文将详细探讨如何利用SWT和Applet来打开和操作本地的Office文件,包括Word、Excel和PowerPoint等。 ...
SWT 资源释放问题详解 SWT(Standard Widget Toolkit)是一种基于 Java 的 GUI 工具包,提供了丰富的图形用户界面组件和事件处理机制。但是, SWT 中的资源释放问题是一件棘手的事情。如果不正确地释放资源,可能...
SWT(Standard Widget Toolkit)是Java中用于创建桌面应用程序的一种图形用户界面(GUI)库,它是Eclipse项目的一部分。SWT的设计目标是提供一个高效、本地化的GUI工具包,能够利用操作系统提供的原生控件,从而让...
### SWT配置详解 #### 一、SWT简介与配置的重要性 SWT(Standard Widget Toolkit)是一种用于构建基于Java的应用程序的图形用户界面工具包。它提供了丰富的控件集,并能够生成本地外观和感觉的界面,这使得应用在...
标题中的"swt-win64-3.6.2.jar"是一个特定版本的 SWT (Standard Widget Toolkit) 库,专为64位Windows操作系统编译的。SWT是Eclipse基金会开发的一个开源GUI(图形用户界面)库,主要用于Java应用程序。它提供了与本...
《SWT库在国产化服务器环境中的应用与替换》 SWT(Standard Widget Toolkit)是一个开源的Java图形用户界面(GUI)工具包,它为Java应用程序提供了与操作系统原生界面集成的能力。SWT的设计目标是提供高效、快速且...
SWT(Standard Widget Toolkit)是Java编程中用于创建图形用户界面(GUI)的一种库,它为开发者提供了丰富的控件和对话框。在SWT中,`MessageBox`是一个用于显示简单的消息对话框的类,通常用来向用户显示警告、确认...
SWT(Standard Widget Toolkit)是Java编程环境中一个开源的GUI(图形用户界面)库,它为开发者提供了与操作系统原生用户界面紧密集成的能力。在Linux系统下,由于有多种不同的桌面环境和窗口管理器,使用SWT可以让...