java学习第一天--窗体程序开发之swt学习

学习目的:

通过学习swt,完成窗体程序开发。

学习进展:

今天已初步学习SWT,对swt的各种控件及控件常用方法有了一定的了解,并仿照网友程序进行模仿开发学习。

学习问题:

对swt的布局理解的还不是很透彻,对各控件的事件了解的不够全面,同时欠缺事件。

学习内容:

了解到当前java进行窗体程序开发,主要有三种方式,SWT、swing、awt三种,其中对于Eclipse进行开发时需要导入相应的插件,而MyEclipse作为一款集合了很多插件的IDE可以直接开发,新建相应的项目即可。这次主要希望通过SWT进行窗体程序开发

SWT又称JFace,有进行窗体程序开发必要的插件,主要分成以下几类:

按钮组件(button类):其构造方法:Button(Composite,int style)其中第一个参数为父级容器,第二个参数为常用button式样。
style主要有以下几类:
SWT.PUSH:按钮。 
SWT.CHECK:多选按钮。 
SWT.RADIO:单选按钮。 
SWT.ARROW:箭头按钮。 
SWT.NONE:默认按钮。 
SWT.CENTER:文字居中,与SWT.NONE相同。 
SWT.LEFT:文字靠左。 
SWT.RIGHT:文字靠右。 
SWT.BORDER:深陷型按钮。 
SWT.FLAT:平面型按钮。 
常用方法:
setText(String string):设置组件的标签文字。 
setBounds(int x,int y,int width,int height):设置组件的坐标位置和大小(x轴坐标,y轴坐标,组件宽度width,组件高度height)。 
setEnabled(Boolean enabled):设置组件是否可用。true:可用(默认值),false:不可用。 
setFont(Font font):设置文字的字体。 
setForeground(Color color):设置前景色。 
setBackgrount(Color color):设置背景色。 
setImage(Image image):设置显示的图片。 
setSelection(Boolean selected):设置是否选中(仅对复选框或单选框有效)。true:选中,false:未选中(默认值)。 
setToolTipText(String string):设置鼠标停留在组件上时出现的提示信息。 

  1. 标签组件(label类):构造方法:new Label(composite,style)
    常用式样style:SWT.CENTER:文字居中。 
    SWT.RIGHT:文字靠右。 
    SWT.LEFT:文字靠左。 
    SWT.NONE:默认式样。 
    SWT.WRAP:自动换行。 
    SWT.BORDER:深陷型。 
    SWT.SEPARATOR:分栏符,默认为竖线分栏。 
    SWT.HORIZONTAL:横线分栏符。 
    常用方法同button类。
  2. 文本框组件(Text类):构造方法:new Text(Composite,style)
    常用式样:SWT.NONE:默认式样。 
    SWT.CENTER:文字居中。 
    SWT.LEFT:文字靠左。 
    SWT.RIGHT:文字靠右。 
    SWT.MULTI:可以输入多行,须回车换行。 
    SWT.WRAP:可以输入多行,到行尾后自动换行。 
    SWT.PASSWORD:密码型,输入字符显示成“*”。 
    SWT.BORDER:深陷型。 
    SWT.V_SCROLL:带垂直滚动条。 
    SWT.H_SCROLL:带水平滚动条。 
    常用方法同button类。
  3. 下拉框组件(Combo类):构造方法:new Combo(composite,style)
    常用式样:SWT.NONE:默认式样。 
    SWT.READ_ONLY:只读。 
    SWT.SIMPLE:无须单击下拉框,列表会一直显示。 
    常用方法:add(String string):在Combo中增加一项。 
    add(String string,int index):在Combo的第index项后插入一项。 
    deselectAll():使Combo组件中的当前选择项置空。 
    removeAll():将Combo中的所有选项清空。 
    setItems(String[] items):将数组中的各项依次加入到Combo中。 
    select(int index):将Combo的第index+1项设置为当前选择项。 
    Button常用方法仍适用。
  4. 列表框组件(List类):构造方法:new List(composite,style)
    常用式样:SWT.NONE:默认式样。 
    SWT.V_SCROLL:带垂直滚动条。 
    SWT.MULTI:允许复选。 
    SWT.SINGLE:允许单选。 
    常用方法:与combo类相同,由于可多选,combo单选获取值方法getText(),List使用getSelection(),返回一个所有选项组成的String数组。
  5. 菜单(Menu类,MenuItem类):构造方法:new Menu(composite,style) ,new MunuItem(composite,style)
    常用式样:
    1.Menu的式样 
    SWT.BAR:菜单栏,用于主菜单。 
    SWT.DROP_DOWN:下拉菜单,用于子菜单。 
    SWT.POP_UP:鼠标右键弹出式菜单。 
    2.MenuItem的式样 
    SWT.CASCADE:有子菜单的菜单项。    
    SWT.CHECK:选中后前面显示一个小勾。 
    SWT.PUSH:普通型菜单。 
    SWT.RADIO:选中后前面显示一个圆点。 
    SWT.SEPARATOR:分隔符。 
    建立菜单步骤:①首先建立一个菜单栏,需要使用SWT.BAR属性。 
    Menu mainMenu=new Menu(shell,SWT.BAR); 
    ②在窗体中指定需要显示的菜单栏。 
    shell.setMenuBar(mainMenu); 
    ③创建顶级菜单项,需要使用SWT.CASCADE属性。 
    MenuItem fileItem=new MenuItem(mainMenu,SWT.CASCADE); 
    fileItem.setText("文件&F"); 
    ④创建与顶级菜单项相关的下拉式菜单。 
    Menu fileMenu=new Menu(shell,SWT.DROP_DOWN); 
    ⑤将顶级菜单项与下拉菜单关联。 
    fileItem.setMenu(fileMenu); 
    二级菜单的创建只需重复以上步骤③~⑤。注意:本例创建所有Menu对象的第一个参数都是shell;创建MenuItem对象的第一个参数是该MenuItem所在的Menu对象;如果某Menu是某MenuItem的子菜单,则还要建立关联:MenuItem.setMenu(Menu)。
容器(composite类及相关子类):构造方法相似,同时注意:容器需手动销毁(dispose)
常用容器类:
1.面板(Composite类):构造方法:new Composite(composite,style);
常用方法: getLayout():得到布局管理器。 
getLayoutData():得到布局数据。 
getParent():得到容纳该容器的父容器。 
getShell():得到容纳该容器的Shell。 
layout():将容器上的组件重新布局,相当于刷新。 
2.分组框(Group类):构造函数:new Group(composite,style)
3.选项卡(TabFolder类,TabItem类):其中TabFolder为容器,TabItem为选项标签
4.布局管理器(LayoutManager类):构造方法:new LayoutManager(composite,style)
常用的四种布局管理器:  FillLayout :充满式布局,在容器中以相同的大小以单行或单列排列组件。 
RowLayout :行列式布局,以单行或多行的方式定制组件的排列方式。 
GridLayout :网格式布局,以网格的方式进行布局,组件可以占用指定的一个或几个网格。 
FormLayout :表格式布局,通过定义组件四个边的距离来排列组件,被引用的相对的组件可以是父组件,也可以是同一容器中的其它组件。 

详见:SWT网友教程

下一步学习计划:
根据此次学习内容,搭建一个窗体界面

你可能感兴趣的:(学习笔记,java)