SWT教程1_入门

合集下载

swt教程

swt教程

一、开发环境搭建JDK安装、Eclipse环境搭建、新建工程、配置路径、配置服务器等二、JAVA基础培训2.1、面向对象简介(抽象、封装、继承、多态,与函数型语言的区别)2.2、基本类型、运算符、分支结构、循环结构简介详见:考核案例一2.3、集合框架(Map、List、Iterator等常用集合讲解)2.4、文件读取及IO(多种输入输出流及文件基本操作介绍:InputStream、OutputStream、RandomAccessFile等)2.5、异常处理详见:考核案例二2.6、XML文件读取详见:考核案例三2.7、多线程(synchronized关键字、锁机制、锁范围等介绍)2.8、数据操作(JDBC)详见:考核案例四三、J2EE框架培训3.1、基础环境搭建(公司框架导入及运行)3.2、J2EE应用综述(J2EE与传统应用的区别、运行环境、主流框架简介等)3.3、Spring开发流程及核心模块讲解(AOP、IoC、Bean等,及开发示例)3.4、dwr开发流程及核心模块讲解(配置文件、action调用等,及开发示例)3.5、Hibernate开发流程及核心模块讲解(映射文件、HQL、注释等、及开发示例)3.6、SSH集成详见:考核案例五四、ArcGis培训4.1、HTMl与JavaScript(4课时)Html+CSS语法介绍JavaScript 语法与对象jquery 语法介绍jquery UI 语法介绍详见:考核案例六4.2、arcgis后台培训(4课时)ArcMap操作和常用工具、数据源介绍(文件、fdb、sde)坐标系、图层管理、配图样式ArcGis Server 使用与地图服务详见:考核案例七4.3、arcgis for JavaScript(8课时)1、arcgis for JavaScript 开发包与环境搭建2、创建地图(约2分钟)3、引入静态/动态/影像服务。

4、切换底图服务。

SWT教程与常用控件

SWT教程与常用控件

第一章:SWT第一节:SWT/JFace简介SWT(Standard Widget Toolkit)即标准小窗口工具箱,是IBM公司推出的一种在Eclipse中使用的集成开发环境,SWT提供可移植的API,并与底层本机OS GUI平台紧密集成,它是一个与本地窗口系统集成在一起的小部件集和图形库。

SWT由JNI (Java Native Interface,Java 本机接口)调用操作系统的内部API,因此运行速度快,能够获得与操作系统的内部应用程序相同的外观。

JFace是一个用户界面工具箱,也是一个易用、功能强大的图形包,它简化了常见的图形用户界面的编程任务。

SWT和JFace都是Eclipse 平台上的主要组件。

JFace是在SWT的基础上创建的,但JFace并不能完全覆盖SWT的功能,JFace和SWT的关系如图4.1所示。

由于JFace的功能更强大,因此做图形界面开发时一般优先选用JFace。

第二节:开发SWT程序开发SWT程序之前,需要我们在工程里导入一个包,如下:该jar包可以在XXX\eclipse\plugins目录下找到。

导入之后,即可开发SWT程序。

一个最简单的SWT程序import org.eclipse.swt.SWT;import org.eclipse.swt.graphics.Color;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;class HelloSWT {public static void main(String[] args) {// 创建一个display对象。

Display display = new Display();// shell是程序的主窗体Shell shell = new Shell(display);// 设置shell的布局方式shell.setLayout(null);// 声明一个可以显示多行信息的文本框Text hello = new Text(shell, SWT.MULTI);// 设置主窗体的标题shell.setText("Java应用程序");// 设置主窗体的大小shell.setSize(200, 100);// 声明颜色对象Color color = new Color(Display.getCurrent(), 255, 255, 255);// 设置窗体的背景颜色shell.setBackground(color);// 设置文本框信息hello.setText("Hello, SWT World!\n\n你好,SWT世界!");// 打开主窗体shell.open();// 如果主窗体没有关闭则一直循环while (!shell.isDisposed()) {// 如果display不忙if (!display.readAndDispatch()) {display.sleep(); // 休眠}}display.dispose(); // 销毁display}}•Display类:是SWT应用程序中的基础类,它负责在应用程序和本地操作系统之间建立交互。

SWT使用方法

SWT使用方法

1.Import the SWT ProjectOpen the Import wizard from the main menu via File > Import..., and select Plug-in Development > Plug-ins and Fragments. Click Next.On the Import Plug-ins and Fragments page, selectImport from: The active target platform.Plug-ins and Fragments to import: Select from all plug-ins and fragments found at specified location.Import As: Projects with source folders.Click Next.On the Selection page, Add org.eclipse.swt.{platform}.{os}.{arch}(for example: org.eclipse.swt.win32.win32.x86 for win32) to Plug-ins and Fragments to Import: list.Click Finish.This will create the org.eclipse.swt.{platform}.{os}.{arch} project which we will need to compile and run the application.2.Create a Java ProjectNow we need a project to store our own source code. In the main toolbar, click on the New Java Project button, or click on the link below. Enter HelloWorldSWT for the project name, then click Finish.3.Configure the Java ProjectSince our project requires SWT, we need to specify this in the project properties. Right-click on the project and select Properties.In the Java Build Path page open the Projects tab, add the org.eclipse.swt.{platform}.{os}.{arch} project, then click OK.4.Create a classThe next step is to create a new class. In the main toolbar, click on the New Java Class button (or the link below). If not already specified, select HelloWorldSWT/src as the source folder. Enter HelloWorldSWT for the class name and select the checkbox to create the main() method, then click Finish. The Java editor will automatically open showing your new class.5.Write the CodeIn the Java editor, enter the following Java code in the main() method: Example :Display display = new Display();Shell shell = new Shell(display);shell.setText("Hello world!");shell.open();while (!shell.isDisposed()) {if (!display.readAndDispatch()) display.sleep();}display.dispose();You will get compile errors. Right click in the Java editor and select Source >Organize Imports, then save your changes.6.RunTo run your application, right-click on your class in the Package Explorer and select Run As > Java Application. A new empty window should appear with the title "Hello world!".Congratulations! You have successfully created a Hello World SWT application!WindowsBuilder使用方法一款基于Eclipse SWT技术上的双向Java Gui设计软件。

SolidWorks_全套入门教程课件

SolidWorks_全套入门教程课件
定位尺寸,最后标注草图的形状尺寸。
复习总结绘制草图步骤
1. 指定草图绘制平面 三个基准平面;已有 特征的平面;生成的基准面
2. 绘制草图的基本几何形状 3. 编辑草图的细部 4. 确定草图各元素间的几何关系、位置关系
和定位尺寸,最后标注草图的形状尺寸
零件的组成原理
特征造型的基本原理是组合体原理,那在SW里,零件 是如何组成的呢?
本书还特别设置了【反例分析】栏目。
1.5 本教程的使用方法和 SolidWorks软件学习方法
在学习方法上注意以下几点: (1)应学习必要的基础知识,包括一些计算
机图形学的原理。 (2)要针对性地学习软件功能。 (3)重点学习建模基本思路。 (4)应培养严谨的工作作风,在建模的每一
步骤都应有充分的依据,切忌在“跟着感觉 走” 。
2.4 实例演示
• 试绘制下列的草图:
2.4 实例演示
2.4 实例演示
2.4 实例演示
2.4 实例演示
【特别提示】
正确贯彻设计意图的绘制草图应当 具有尺寸驱动特性。例如,减小左端圆弧 的半径,其它与之相连的图元应随着调整, 但几何关系保持不变,如下图所示。
2.5 三维草图的绘制
用SolidWorks软件不但能够生成2D草 图,而且还可以生成3D草图。3D草图一般 由系列直线、圆弧以及样条曲线构成。可 以将3D草图作为扫描路径,或作为放样或 扫描的引导线、放样的中心线或管道系统 中的关键实体。
引 例
1.1 Solidworks概述
• 三维设计软件的优势 • 三维设计软件的种类 • SolidWorks软件及2009版新增功能
1.1.1 三维设计软件的优势
• 1. 零件设计更加方便 • 2. 零件装配更加直观 • 3. 缩短了设计周期 • 4. 提高了设计质量

swt技巧(二)

swt技巧(二)

swt技巧(二)SWT技巧简介SWT(Standard Widget Toolkit)是一种使用Java编写的界面工具包,它提供了一组丰富的图形界面控件和功能,用于构建跨平台的桌面应用程序。

在本文中,我们将介绍一些SWT的常用技巧,帮助您更好地利用SWT开发应用程序。

开发环境搭建1.下载并安装Java Development Kit(JDK)–访问官方网站,下载适用于您操作系统的JDK安装包–执行安装程序,并根据提示完成安装2.下载并配置Eclipse开发环境–访问官方网站,下载适用于您操作系统的Eclipse IDE for Java Developers安装包–执行安装程序,并根据提示完成安装–启动Eclipse,选择合适的工作区(Workspace)–配置Java运行环境(JRE),选择已安装的JDK路径3.下载并导入SWT库–访问Eclipse官方插件市场,搜索并安装SWT插件–在Eclipse项目中,右键单击项目,选择“属性”并导航到“Java Build Path”–在“库”选项卡下,点击“添加外部JARs”按钮,选择SWT库的路径常用控件和布局管理器•Shell:应用程序窗口的容器•Composite:可嵌套的容器•Label:文本标签•Text:文本输入框•Button:按钮•Combo:下拉列表框•Table:表格•Tree:树状结构•GridLayout:网格布局管理器•FormLayout:表单布局管理器•RowLayout:行布局管理器事件处理•使用addListener()方法添加事件监听器•实现Listener接口或使用匿名内部类处理事件•常用事件类型:、、``等绘图和图像操作•使用GC(Graphical Context)对象绘制图形•使用Image类加载和处理图像数据•实现PaintListener接口处理绘图事件资源管理•使用ResourceManager类管理图像、颜色等资源•使用dispose()方法释放资源,防止内存泄漏高级功能•实现自定义控件:继承Canvas或Composite类,并重写相应方法•实现自定义布局管理器:继承Layout类,并重写相应方法•实现拖放功能:使用DragSource和DropTarget类•实现本地系统集成:使用Program类打开外部程序或文件结语本文介绍了一些常用的SWT技巧,帮助您更好地使用SWT进行应用程序开发。

SWT_Jface开发入门指南

SWT_Jface开发入门指南

SWT/Jface开发入门指南(一)SWT/Jface开发入门指南写在前面的话终于决定提起笔来写一篇关于swt和JFace编程的文章。

在开始之前,我想先介绍一下你能够从将要出现的这一系列文章里得到什么,以及更重要的,你不能得到什么。

我们的时间是如此之重要,以至于我们很难容忍把它浪费在自己不关心的事情上。

因为我刚开始写,所以到底这些文章会分成几次发布出来,也很难讲。

但是我心里大体有这样一个提纲。

也就是说,我打算介绍以下方面的内容:z设定swt以及JFace的开发环境z swt的一些简单部件(widget)介绍z JFace的一些入门性介绍z swt和JFace的事件模式z通过一些简单的例子说明如何利用swt和JFace编写图形化应用程序我还要说明一下你不能从本文中得到的信息,这些信息包括:z swt和JFace相关内容非常深入的介绍:正如你从题目中了解到的,本文的定位是“入门”,也就是说假定的读者是那些对swt和JFace开发没有什么了解的人。

所以我并不打算进行一个深入的介绍。

因为我相信在入门之后,他们能够找到更好的资料(此外,我可能会写另外一个系列文章来介绍)。

z Eclipse的使用:我假定你在读这篇文章的时候已经对Eclipse有所了解,所以不会解释到具体Eclipse如何使用。

z Eclipse插件开发:虽然Eclipse插件开发和本文内容有着千丝万缕的联系,我决定还是不把它列为介绍的内容。

这方面,你仍然可以找到相当多的资料供参考。

与作者联系如果你希望和我联系的话,你可以发email到jayliu@。

我的blog:/jayliu/延伸阅读你不知道什么是eclipse么?你可以打开/,这是eclipse的官方站点。

如果你希望对eclipse功能有详细的了解,你可以读一下这本书《CONTRIBUTINGTO ECLIPSE》。

你不知道什么是swt/JFace么?你可以看一下Wikipedia中的介绍:/SWT/wiki/Eclipse_%28computing%29你对eclipse,swt的历史感兴趣么?我强烈推荐你看一下这篇八卦:/news/newstopic/20/20433.shtml如果你对eclipse的一些新闻比较感兴趣的话,可以关注一下大胃的blog:/sean/以及kukoo的blog:/kukoo/最后你可以从一个地方得到所有你想要的东西:/OK,介绍到此为止,下面我开始正文:Hello,world!:搭建一个swt/JFace开发环境在前面我曾经提到过:我们假定你对Eclipse开发有一些了解。

Swt常用控件中文教程

Swt常用控件中文教程

Swt常用控件中文教程1、Eclipse中swt的配置建议配置:jdk1.4.2以及eclipse3.1在代码中调用swt控件之前,首先建立一个项目,然后选择该项目的properties -> Java Build Path,将standard Widget ToolKit加入到Library页当中。

如下图所示:接下来可以建立第一个eclipse小程序,新建一个class,并且在该class所对应的代码中输入如下程序,其中package以及class名称根据实际情况来确定名称。

package mypakage;import org.eclipse.swt.widgets.*;import org.eclipse.swt.*;/*导入需要的类库*/public class Myfrm1 {public Myfrm1()public static void main(String[] args) {Display display = new Display();Shell shell = new Shell(display);/*shell为一个窗口对象*/Label label = new Label(shell, SWT.NONE);label.setText("Hello, World!"); /*创建一个标签对象并且设置标题文字*/label.pack();shell.pack();shell.open(); /*打开并显示窗口*/while(!shell.isDisposed())if(!display.readAndDispatch())display.sleep(); /*在窗口没有销毁之前,显示对象一直处于等待状态*/display.dispose(); /*否则,销毁对象,释放对象所占据的资源*/label.dispose();}}运行上述代码(run -> debug -> swt application)将产生如下所示的一个窗口2、button的使用按钮可能的类型有很多,例如:SWT.BORDER 含有边框的按钮SWT.CHECK 复选按钮SWT.PUSH 普通按钮SWT.RADIO 单选按钮3、Text的使用文本框的类型也有很多种选择,例如:SWT.BORDER 含有边框SWT.READ_ONLY 只读下图为包含按钮以及文本框的窗口设计上述窗口所对应的代码为:package mypakage;import org.eclipse.swt.widgets.*;import org.eclipse.swt.SWT;import org.eclipse.swt.events.*;import yout.*;public class Myfrm1 {public Myfrm1()public static void main(String[] args) {Display display = new Display( );Shell shell = new Shell(display);shell.setSize(300, 200);shell.setLayout(new RowLayout( ));shell.setText("Button Example");final Button button = new Button(shell, SWT.BORDER);button.setText("Click Me");final Text text = new Text(shell, SWT.BORDER);shell.open( );while(!shell.isDisposed( )) {if(!display.readAndDispatch( )) display.sleep( );}display.dispose( );}}如果想对控件的位置以及大小进行精确的设置,可以使用setBounds(x, y, width, height)方法来取代shell.setLayout(new RowLayout( ))。

SolidWorks入门教程很全面

SolidWorks入门教程很全面

220元/门
机械制造类 Mechanical Manufacturing
Category
UG-CAM工艺设计 MasterCAM工艺设计
Cimatron工艺设计 CAXA工艺设计
UG-CAM Process Design MasterCAM Process Design
Cimatron Process Design CAXA Process Design
第五页,共217页。
第六页,共217页。
• 据最新统计:陕西地区现有5122家机械制造企
业,大部分企业都不同程度的了解或用到 SolidWorks。
• 西安航空发动机(集团)有限公司
• 西安飞机工业(gōngyè)制造公司
• 西电公司高压电瓷厂 厂
西安整流器
• 陕西鼓风机厂
• 陕西建设机械(集团)有限责任公司
220元/门
Mold Category
注塑模具设计
Injection Mould Design
220元/门
模具制造工艺设计
Mould Manufacturing Process Design
220元/门
建筑设计类 Architecture Design Category
Autocad建筑设计
AutoCAD Architecture Design
第三十九页,共217页。
• 9. 转换实体引用 • 利用(lìyòng)转换实体引用工具可以将三维实体的端面投影
到绘图基准面上,在基准面上形成端面几何图形的投影草 图,这是一种方便快捷的草图绘制方法,在创建三维实体 模型时常常用到。 • 首先选择草图绘制基准面,然后鼠标左键单击要转换的实 体端面,再单击工具栏中的【转换实体引用】按钮,便可 以完成实体端面投影到基准面形成草图。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Shell 是一个窗口组件,它也是 Widget 类的一个子类。因此 Shell 组件遵从前文描述的有关窗口 组件生命周期的概念,Shell 类提供了多个构造方法,如表 3 所示。
表3
类 Shell 的构造函数
构造函数 Shell()
Shell(Display display)
Shell(Display display, int style)
当调用组件的 dispose()方法时,与其对应的平台组件将被释放,但是此时该组件对象仍然存在。 此时调用该对象的方法会有什么结果呢,如代码 2 所示。 代码 2
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
Shell 类
运行 HelloSWT 程序,可以看到一个标准的窗口程序,这个窗口就是 Shell 窗口组件。该组件作为容器 “存放”应用程序的其他控制组件,比如 Label、Text、Tree 等。当创建这些控制组件时,通常都以 Shell 组件作为其父亲组件
[注] Widget 子类之间的继承关系与创建窗口组件时的父子关系是两个不同的概念。
public class HelloSWT {
public static void main (String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("HelloSWT"); shell.open(); while (!shell.isDisposed()) {
大小可修改。 窗口包含标题栏。 BORDER | CLOSE | TITLE 的组合。 CLOSE | MIN | MAX | RESIZE | TITLE 的组合。
public static void main (String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose();
SWT 教程 1 入门
一个完整的 SWT 程序 下面的代码是一个完整的 SWT 程序,该程序创建一个标准的 Windows 窗口应用程序。
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class HelloSWT {
Shell 对象创建在 display 之上,使用 Shell 组件的默认样式 (SWT.SHELL_TRIM)。
使用 display 和 style 样式创建 Shell 对象。
使用 style 样式,其他与 Shell()构造函数同。 以 parent 作为 Shell 对象的父亲组件,以父亲组件的 display 作为其 display,以 SWT.DIALOG_TRIM 为样式创建 Shell 对象。 采用 style 样式,其他与 Shell(Shell parent)构造函数相同。
创建 Widget 实例对象时需要传递的另一个参数是 style,该参数限定了组件的行为和外观。比如在 创建 Tree 组件时,可以使用 SWT.SINGLE 参数,该参数说明创建的树组件中不能够同时选中多个元素; 当然也可以使用 SWT. MULTI 参数。
在创建 Widget 对象时,样式参数可以是单个值, 也可以是多个样式的组合。比如在创建 Tree 组件 时,可以使用 SWT.SINGLE 和 SWT.CHECK 的组合,后者表示树中的每一个元素都有一个勾选框。当然, 在创建 Tree 组件时可以传入 SWT.MULTI | SWT.SINGLE,虽然这在逻辑上不成立,但是不会有任何编 译错误。在样式矛盾的情况下,树组件会使用 SWT.SINGLE。
if (!display.readAndDispatch()) display.sleep(); } display.dispose(); shell.setText("it is wrong!"); } } 运行代码 2,该程序能够正常启动并显示,但是当关闭程序时,会抛出 SWTException 异常,如代码 3 所示。 代码 3 Exception in thread "main" org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:2942) at org.eclipse.swt.SWT.error(SWT.java:2865) at org.eclipse.swt.SWT.error(SWT.java:2836) at org.eclipse.swt.widgets.Widget.error(Widget.java:395) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:297) at org.eclipse.swt.widgets.Shell.open(Shell.java:815) at first.HelloSWT.main(HelloSWT.java:16)
SWT 使用平台窗口组件,因此当创建一个 SWT Widget 的对象时,与操作系统相关的组件将会被创建。 当这些 SWT 对象被销毁时,相应的平台组件也会被释放。
1.创建 Widget
表 1 列出了 Widget 类的构造函数。
表1
Widget 类的构造函数
构造函数 Widget(Widget parent, int style)
因此当一个组件的 dispose()方法被调用,该组件正常释放之后,就不能够再对该组件对象以及其 孩子组件对象进行任何操作了。从理论上来说,SWT 的设计所引发的该问题的确不怎么光彩,但是在实际 开发中,这个问题非常容易避免。
Display 类
虽然 Display 类包含了众多与窗口组件相似的概念。比如生命周期、事件及其监听等。但是 Display 并不是 Widget 类的子类。Display 类没有对应的窗口形式,它用于在 SWT 与窗口平台之间建立起一座 桥梁。
表2
类 Display 的构造函数
方法 boolean readAndDispatch() boolean sleep()
描述 从窗口系统的事件队列中读取事件。一次一件地触发相应的监听 器。如果事件队列中还包含事件,返回 true,否则返回 false。
允许用户界面暂时释放 CPU 资源。
任何 SWT 程序都必须拥有一个 Display 类的实例,在 HelloSWT 中,程序的第一步便是创建该对象, 当没有事件时,通过调用 sleep()方法让该用户界面释放 CPU 资源。
} }
SWT 能够运行在多种不同的平台上,它使用平台上的窗口组件作为程序的工作及显示方式。因此在 Windows 平台上开发的 SWT 程序可以运行在 Linux 之上,并且在 Linux 上运行时其外观使用 Linux 的 窗口主题。
Widget 类
Widget 既是 SWT 中所有窗口组件的抽象基类,也是 SWT 中一个非常重要的概念。在 SWT 应用程序 中,窗口组件是用户与程序交互的接口。它是信息的载体。它将程序的数据呈现在图形化的窗口中,同时 它自身包含一定的状态。在不同的状态下,其自身的显示也会有所不同。窗口组件还用于监听用户事件, 它会根据鼠标和键盘事件改变其状态。
为 dispose()的方法,在 SWT 的开发过程中,会常和该方法打交道。该方法用于释放与组件相关的资源。 关于窗口组件的释放,有以下两个准则。
准则 1 主动创建它则主动释放它 这个准则的含义是,当在程序中使用 new 创建了一个 组件对象,就应该调用 dispose()方法来释放 它。比如在 HelloSWT 程序的最后,display 被释放就是通过调用 dispose 方法实现的。需要指出的是, display 并不继承自 Widget 类,但是在组件释放的概念上,它们是一致的。 准则 2 释放组件时其孩子组件也会被释放 按照准则 1 的概念,那么在 HelloSWT 程序中, 也应该调用 Shell 对象的 dispose()方法来释放 其孩子组件。其实不然,当释放一个组件时,其孩子组件也会被释放,比如在释放一个 Tree 组件 时,其 中的各个元素(TreeItem 组件)也会被自动释放,因此不需要主动调用这些孩子组件的 dispose()方 法。
所有的样式都以常量的形式定义在 org.eclipse.swt.SWT 类中。
不同的组件有不同的样式,在 SWT 的 Java Doc 中列出了每个 SWT 组件所允许的样式。在 SWT 中,每个 组件都能够应用其父亲组件所对应的样式。
2.释放 Widget 为了高效管理系统资源,SWT 的设计中要求 SWT 程序直接管理这些资源。Widget 类中提供了一个名
在创建 Shell 对象时,不提倡使用无 Display 对象的构造函数。即 Shell()和 Shell(int style)。 在创建 Shell 对象时,通常不需要特别指定 Shell 组件的样式。当没有父亲 Shell 作为参数时,一个常 见的 Shell 组件将被创建,该组件包含“关闭”、“最大化”、“最小化”按钮、一个标题栏并具有改变 窗口大小的功能。如果构造 Shell 时包含一个非空的父亲 Shell,则创建的 Shell 样式与通常的对话框 样式相似,该窗口包含标题栏、“关闭”按钮以及边框。表 4 是 Shell 组件的样式列表。
相关文档
最新文档