SWT学习|常用组件及参数
SWT中的各种参数
按钮组件(Button)
- Button的常用样式
SWT.PUSH / SWT.NONE 普通按钮
SWT.CHECK 多选按钮
SWT.RADIO 单选按钮
//在同一个group中,多个单选按钮只可以被选中一个
SWT.APPOW 箭头按钮
//在创建时,要指定箭头的方向
//SWT.UP(默认,向上箭头)、SWT.DOWN、SWT.LEFT、SWT.RIGHT - 按钮文字位置参数
SWT.CENTER|SWT.NONE 居中
SWT.LEFT 左对齐
SWT.RIGHT 右对齐 - 按钮样式参数
SWT.BORDER 深陷型按钮
SWT.FLAT 平面型按钮 - Button的常用方法
setText(String string) 设置标签文字
setBounds(int x,int y,int width,int height)
设置组件相对于容器的额坐标位置和大小
setEnabled(Boolean enabled)设置组件是否可用
setFont(Font font) 设置字体
setImage(Image image) 设置显示用的图片
setSelection(Boolean selected)
设置是否被选中,默认为false
setToolTipText(String string) 设置鼠标停在组件上时的提示信息
栗子
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Shell;public class HelloWorld {public static void main(String[] args) {Display display = new Display();Shell shell = new Shell(display);shell.setText("SWT");shell.setLayout(new FillLayout(SWT.HORIZONTAL));Group group = new Group(shell,SWT.SHADOW_ETCHED_OUT);FillLayout layout = new FillLayout(SWT.HORIZONTAL);layout.marginHeight = 10;//上下空隙layout.marginWidth = 20;//左右layout.spacing = 5; //内部部件空隙group.setLayout(layout);Button b1 = new Button(group, SWT.TOGGLE|SWT.LEFT);b1.setText("SWT.LEFT");b1.setToolTipText("SWT.LEFT");Button b2 = new Button(group, SWT.TOGGLE|SWT.RIGHT);b2.setText("SWT.RIGHT");b2.setToolTipText("SWT.RIGHT");Button b3 = new Button(group, SWT.TOGGLE|SWT.CENTER);b3.setText("SWT.CENTER");b3.setToolTipText("SWT.CENTER");Button b4 = new Button(group, SWT.TOGGLE|SWT.FLAT);b4.setText("SWT.FLAT");b4.setToolTipText("SWT.FLAT");Button b5 = new Button(group, SWT.TOGGLE|SWT.BORDER);b5.setText("SWT.BORDER");b5.setToolTipText("SWT.BORDER");shell.pack();//调整布局shell.open();while(!shell.isDisposed()){if(!display.readAndDispatch())display.sleep();}//销毁displaydisplay.dispose();}
}
标签组件(Label)
- Label的常用样式
SWT.NONE 普通文本标签
SWT.SEPARATOR 分割线标签
CLabel自定义标签 - 标签文字位置参数
SWT.CENTER|SWT.NONE 居中
SWT.LEFT 左对齐
SWT.RIGHT 右对齐 - 标签样式参数
SWT.BORDER 深陷型按钮
SWT.FLAT 平面型按钮
文本框组件(Text)
Text的常用样式
SWT.NONE 默认式样
SWT.CENTER
SWT.RIGHT
SWT.LEFT
SWT.MULTI 可以输入多行,需回车换行
SWT.WRAP 可以输入多行,自动换行
SWT.PASSWORD 密码型,输入字符显示成“*”
SWT.BORDER 深陷型
SWT.V_SCROLL 垂直滚动条
SWT.H_SCROLL 水平滚动条Text常用方法
setTextLimit(int limit) 文本的最大长度
setEditable(Boolean editable) 设置是否可编辑
setOrientation(int orirntation) 设置输入文字的方向
SWT.RIGHT_TO_LEFT 输入时从右向左填充
SWT.LEFT_TO_RIGHT 输入时从左向右填充
setEchoChar(char echo)设置文本输入的字符格式
如:setEcho("*")类似输入为密码框格式
append(String string)向文本框中插入字符串
getCharCount()获得文本框内字符串的长度有关文本操作的方法
selectAll()选中所有字符
setSelection(int start)、setSelection(int start,int end)、setSelection(Point selection) 选中指定的字符
showSelection()显示所设置的选取文本
clearSelection()取消所有选择
getSelection()返回值为point,取得选中文本的额开始位置和结束位置
getSelectionCount() 取得选取的字符串长度
getSelectionText()返回值为String取得所选取的字符串
copy()将选取中的字符串复制到剪贴板
cut()将选取中的字符串剪切到剪贴板
paste()将剪贴板上的字符粘贴到文本框
举个栗子
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;public class TextSample {public static void main(String[] args) {Display display = new Display();Shell shell = new Shell(display);shell.setText("SWT");final Text content = new Text(shell , SWT.WRAP|SWT.V_SCROLL);content.setBounds(5, 5, 325, 200);Button selectAll = new Button(shell, SWT.NONE);selectAll.setText("全选");selectAll.setBounds(5, 225, 75, 25);selectAll.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {// TODO Auto-generated method stubcontent.selectAll();} }); Button cancel = new Button(shell, SWT.NONE);cancel.setText("取消全选");cancel.setBounds(90, 225, 75, 25);cancel.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {// TODO Auto-generated method stubif(content.getSelectionCount()>0)content.clearSelection();} }); Button copy = new Button(shell, SWT.NONE);copy.setText("复制");copy.setBounds(175, 225, 75, 25);copy.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {// TODO Auto-generated method stubcontent.copy();} }); Button paste = new Button(shell, SWT.NONE);paste.setText("粘贴");paste.setBounds(260, 225, 75, 25);paste.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {// TODO Auto-generated method stubcontent.paste();} }); shell.pack();//调整布局shell.open();while(!shell.isDisposed()){if(!display.readAndDispatch())display.sleep();}//销毁displaydisplay.dispose();}
}
列表框(List)
List常见样式
SWT.NONE 默认样式
SWT.V_SCROLL 带垂直滚动条
SWT.MULTI 允许复选
SWT.SINGLE 允许单选常用方法
add(String string) 在List上添加一项
add(String string,int index) 在List的第index(从0开始)项后插入一项
deselectAll() 使List组件中的当前选项为空
removeAll() 将List中的所有选项清空
setItems(String[] items) 将数组中的各项依次加入到List中
select(int index) 将List的第index+1项设置为当前选择项
好多栗子
package com.digiwin;import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;public class ListSample {public static void main(String[] args) {Display display = new Display();Shell shell = new Shell(display);shell.setText("List示例");String[] itemLeft = new String[20];String[] itemRight = new String[0];for(int i=0;i<20;i++)itemLeft[i]="item"+i;//定义列表框,可选择多个并带有垂直滚动条final List left = new List(shell,SWT.MULTI|SWT.V_SCROLL);left.setBounds(10, 10, 100, 180);left.setItems(itemLeft);left.setToolTipText("请选择列表项");final List right = new List(shell,SWT.MULTI|SWT.V_SCROLL);right.setBounds(170, 10, 100, 180);right.setItems(itemRight);right.setToolTipText("请选择列表项");//SelectionAdapter同时为多个按钮进行监听SelectionAdapter listener = new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {// TODO Auto-generated method stubButton b =(Button)e.widget;if(b.getText().equals(">"))verifyValue(left.getSelection(),left,right);else if(b.getText().equals(">>"))verifyValue(left.getItems(), left, right);else if(b.getText().equals("<"))verifyValue(right.getSelection(), right, left);else if(b.getText().equals("<<"))verifyValue(right.getItems(), right, left);else if(b.getText().equals("上")){int index = right.getSelectionIndex();if(index<=0)return;String currentValue = right.getItem(index);right.setItem(index, right.getItem(index-1));right.setItem(index-1, currentValue);right.setSelection(index-1);}else if(b.getText().equals("下")){int index = right.getSelectionIndex();if(index<=0)return;String currentValue = right.getItem(index);right.setItem(index, right.getItem(index+1));right.setItem(index+1, currentValue);right.setSelection(index+1);}}public void verifyValue(String[] select, List from,List to) {// TODO Auto-generated method stubfor(int i = 0;i<select.length;i++){from.remove(select[i]);to.add(select[i]);}}};Button bt1 = new Button(shell,SWT.NONE);bt1.setText(">");bt1.setBounds(130,20,25,20);bt1.addSelectionListener(listener);Button bt2 = new Button(shell,SWT.NONE);bt2.setText(">>");bt2.setBounds(130,55,25,20);bt2.addSelectionListener(listener);Button bt3 = new Button(shell,SWT.NONE);bt3.setText("<");bt3.setBounds(130,90,25,20);bt3.addSelectionListener(listener);Button bt4 = new Button(shell,SWT.NONE);bt4.setText("<<");bt4.setBounds(130,125,25,20);bt4.addSelectionListener(listener);Button bt5 = new Button(shell,SWT.NONE);bt5.setText("上");bt5.setBounds(300,70,25,20);bt5.addSelectionListener(listener);Button bt6 = new Button(shell,SWT.NONE);bt6.setText("下");bt6.setBounds(300,105,25,20);bt6.addSelectionListener(listener);shell.setSize(350, 250);shell.open();while(!shell.isDisposed()){//如果当前窗口未被销毁if(!display.readAndDispatch())//readAndDispatch()操作系统事件队列中的事件,如果队列事件中还有事件未处理,则返回true,如果该UI线程处于等待状态(SLEEP),则返回flase//在窗口没有销毁之前,显示对象处于休眠状态display.sleep();//销毁当前对象}display.dispose();}
}
下拉框组件(Combo)
Combo常见样式
SWT.NONE 默认
SWT.READ_ONLY 只读
SWT.SIMPLE 无需单击下拉框,列表会一直显示Combo下拉框常用方法
add(String string) 在Combo上添加一项
add(String string,int index) 在Combo的第index(从0开始)项后插入一项
deselectAll() 使Combo组件中的当前选项为空
removeAll() 将Combo中的所有选项清空
setItems(String[] items) 将数组中的各项依次加入到Combo中
select(int index) 将Combo的第index+1项设置为当前选择项
SWT学习|常用组件及参数相关推荐
- java swt designerpdf_eclipse学习笔记!(4) ----- SWT Designer 下 SWT常用组件
一个button类的实例 基本的步骤和之前的是一样的,一个SWT的项目,然后在页面设置面板里添加button.双击button(直接在source里面添加了监听器的代码).下面是代码: publicc ...
- amazeui学习笔记--css(常用组件4)--关闭按钮Close
amazeui学习笔记--css(常用组件4)--关闭按钮Close 一.总结 1.关闭按钮基本用法:关闭按钮样式,可以结合其他不同组件使用.对 <a> 或者 <button> ...
- amazeui学习笔记--css(常用组件1)--小徽章Badge
amazeui学习笔记--css(常用组件1)--小徽章Badge 一.总结 1.am-badge:添加am-badge来声明小徽章对象 <span class="am-badge a ...
- amazeui学习笔记--css(常用组件5)--评论列表Comment
amazeui学习笔记--css(常用组件5)--评论列表Comment 一.总结 1.am-comment:使用am-comment来声明评论对象,这个是放在article里面的,虽然article ...
- Swift学习笔记笔记(七) UIKit常用组件的使用
一.实验目的: 1.掌握Cocoa程序的创建 2.掌握UILabel组件的使用 3.掌握UIButton组件的使用 4.掌握UITextField组件的使用 二.实验原理: 1.Cocoa应用程序框架 ...
- 开启Fluter基础之旅二-------Future再论、常用组件、Material Design风格组件学习
Future再论: 这里在继续往下学习之前,先来看一下Dart语言关于Event-Queue和Microtask Queue需要注意的一个小点,这个在之前https://www.cnblogs.com ...
- amazeui学习笔记--css(常用组件6)--图标Icon
amazeui学习笔记--css(常用组件6)--图标Icon 一.总结 1.关注用法即可:在 HTML 上添加添加 am-icon-{图标名称} class. <span class=&quo ...
- amazeui学习笔记--css(常用组件10)--导航条Topbar
amazeui学习笔记--css(常用组件10)--导航条Topbar 一.总结 1. 导航条:就是页面最顶端的导航条:在容器上添加 .am-topbar class,然后按照示例组织所需内容.< ...
- Java多线程学习六:使用线程池比手动创建线程好在那里以及常用线程池参数的意义
为什么要使用线程池 首先,回顾线程池的相关知识,在 Java 诞生之初是没有线程池的概念的,而是先有线程,随着线程数的不断增加,人们发现需要一个专门的类来管理它们,于是才诞生了线程池.没有线程池的时候 ...
最新文章
- Linus采访对Linux对git和对代码品味的理解
- 钉钉api 获取 accesstoken_低代码快速对接钉钉日程
- centos7 cacti php7,Centos7 cacti 使用笔记
- minigui显示时遇到的一个问题(暂时记下来)
- 微信小程序开发(一)
- python __init__ 构造函数
- leetcode374. 猜数字大小(二分法)
- PyTorch的hook及其在Grad-CAM中的应用
- matlab2014启动很慢,matlab启动慢的解决方法
- python中lstrip函数_python中strip(),lstrip(),rstrip()函数的使用讲解
- 只包含因子2 3 5的数 (思维和二分)
- 【Spring-tx】事务逻辑
- 二叉树的创建及遍历--java实现
- HTML+CSS登陆界面实例
- 计算机技术对英语要求高吗,学习计算机专业对英语要求高吗?
- openresty php 环境,从零搭建php环境-openresty
- 《 ERP高级计划》书的解读之零物料约束和能力约束逻辑(蔡颖)(转)
- 英国设计师发明不用手撑的雨伞
- 【R语言】5种探索数据分布的可视化技术
- java中什么叫引用