Plug-in 简单控件
来源:互联网 发布:手机关闭蜂窝移动数据 编辑:程序博客网 时间:2024/06/04 08:33
Plug-in 简单控件
首先申明下,本文为笔者学习《Eclipse插件开发学习笔记》的笔记,并加入笔者自己的理解和归纳总结。
1、Button
Button主要对用户的选择动作进行反应。setText()方法设置显示文字,setImage()方法设置显示图片。默认图片在文字的左边,样式SWT.RIGHT_TO_LEFT可以让图片显示在文字的右边。
Button默认样式是SWT.PUSH,还有CHECK(复选)、RADIO(单选)和TOGGLE(切换)。
选择按钮后,会触发SelectionListener的widgetSelected,调用Button的addSelectionListener添加监听事件。可以使用SelectionAdapter类,简化代码。
Image image = new Image(display, ButtonDemo.class.getResourceAsStream("demo.gif"));Button button = new Button(shell, SWT.RIGHT_TO_LEFT);button.setImage(image);button.setText("Push Button");button.setBounds(20, 10, 150, 25);Button checkButton = new Button(shell, SWT.CHECK);checkButton.setImage(image);checkButton.setText("Check Button");checkButton.setBounds(20, 45, 150, 20);Button radioButton = new Button(shell, SWT.RADIO);radioButton.setImage(image);radioButton.setText("Radio Button");radioButton.setBounds(20, 70, 150, 20);Button toggleButton = new Button(shell, SWT.TOGGLE);toggleButton.setImage(image);toggleButton.setText("Toggle Button");toggleButton.setBounds(20, 95, 150, 25);... ...image.dispose();
显示如下
2、Label
Label主要用来显示图片和不需要修改的文本内容。setText()方法设置显示文字,setImage()方法设置显示图片。但Label只能显示文字或图片。
SWT.SEPARATOR可以使控件显示成一根水平或垂直的分割线。
Image image = new Image(display, ButtonDemo.class.getResourceAsStream("demo.gif"));Label label = new Label(shell, SWT.BORDER);label.setImage(image);label.setBounds(10, 10, 30, 30);Label textLabel = new Label(shell, SWT.NONE);textLabel.setText("label");textLabel.setBounds(50, 10, 60, 30);Label horizontalLabel = new Label(shell, SWT.HORIZONTAL | SWT.SEPARATOR | SWT.BORDER);horizontalLabel.setBounds(10, 50, 120, 20);Label verticalLabel = new Label(shell,SWT.VERTICAL | SWT.SEPARATOR);verticalLabel.setBounds(150, 10, 20, 70);... ...image.dispose();
显示如下
3、Text
Text主要是用户用来输入内容或修改已有的内容。SWT.READONLY设置文本为只读,内容无法修改,但仍然可以使用setText来改变内容。SWT.PASSWORD样式使文本框中的内容显示为密码字符,可以使用setEchoChar方法设置想要显示的字符。
SWT.V_SCROLL和SWT.H_SCROLL显示垂直滚动条和水平滚动条。SWT.WRAP使H_SCROLL失效,自动换行。
对Text修改时,首先触发VerifyListener监听器,然后再触发ModifyListener。
Text normalText = new Text(shell, SWT.BORDER);normalText.setBounds(10, 10, 112, 20);normalText.setText("text");Text passwordText = new Text(shell, SWT.PASSWORD | SWT.BORDER);passwordText.setBounds(10, 40, 112, 20);passwordText.setText("text");Text readonlyText = new Text(shell, SWT.READ_ONLY | SWT.BORDER);readonlyText.setBounds(10, 70, 112, 20);readonlyText.setText("text");Text borderlessText = new Text(shell, SWT.NONE);borderlessText.setText("text");borderlessText.setBounds(10, 100, 112, 20);Text multiLineText = new Text(shell,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);multiLineText.setBounds(10, 130, 112, 60);Text wrapText = new Text(shell, SWT.BORDER |SWT.V_SCROLL | SWT.H_SCROLL | SWT.WRAP);wrapText.setBounds(10, 200, 112, 50);Text eventText = new Text(shell, SWT.BORDER);eventText.setBounds(10, 260, 112, 20);eventText.addVerifyListener(new VerifyListener() {@Overridepublic void verifyText(VerifyEvent e) {if (e.text.length() > 0) {System.out.println(e.text);char c = e.text.charAt(0);if (c <= 'f' && c >= 'a') { // [a-f]变大写e.text = e.text.toUpperCase();} else if (c <= '9' && c >= '0') { // 0-9禁止输入e.doit = false;}}}});eventText.addModifyListener(new ModifyListener() {@Overridepublic void modifyText(ModifyEvent e) {System.out.println(e.widget);}});
显示如下
4、List
List以列表的形式向用户展示数据。SWT.Multi样式表示可以选择多个选项。
add方法添加数据,setItem方法修改数据,remove方法删除数据,getItem获取数据。
select方法选择数据项,getSelection获取选择的数据项。当选中List某项时,会触发SelectionListener事件。
final List list = new List(shell, SWT.BORDER | SWT.MULTI);list.setBounds(10, 10, 160, 110);list.add("Tom");list.add("Mike");list.add("Peter");list.add("Lily");list.addSelectionListener(new SelectionListener() {@Overridepublic void widgetSelected(SelectionEvent e) {int[] selection = list.getSelectionIndices();for (int index : selection) {System.out.println("widgetSelected index = " + index);}}@Overridepublic void widgetDefaultSelected(SelectionEvent e) {int[] selection = list.getSelectionIndices();for (int index : selection) {System.out.println("widgetDefaultSelected index = " + index);}}});
显示如下
5、Combo
Combo由一个文本框和一个列表组合而成,当单击文本框右侧的按钮时,会出现一个下拉列表,用户可以在文本框输入内容,也可以选择列表中内容。Combo默认样式是SWT.DROP_DOWN,也可以使用SWT.SIMPLE样式。SWT.READONLY只对DROP_DOWN有效。
对Combo修改时,会直接触发ModifyListener监听器。
Combo combo = new Combo(shell, SWT.READ_ONLY);combo.setBounds(10, 10, 80, 110);combo.add("Tom");combo.add("Mike");combo.add("Peter");combo.add("Lily");final Combo simpleCombo = new Combo(shell, SWT.SIMPLE);simpleCombo.setBounds(100, 10, 80, 110);simpleCombo.add("Tom");simpleCombo.add("Mike");simpleCombo.add("Peter");simpleCombo.add("Lily");simpleCombo.addModifyListener(new ModifyListener() {@Overridepublic void modifyText(ModifyEvent e) {System.out.println(simpleCombo.getText());}});
显示如下
0 0
- Plug-in 简单控件
- Plug-in Item控件
- Plug-in 容器控件
- Plug-in 高级控件
- plug-in
- plug-in网址
- C# Plug-in resources
- Eclipse plug-in
- plug in, Basic idea
- ZDA plug-in,删无赦!
- datawindow plug-in
- powerbuilder window plug-in
- Nagios plug-in开发
- 瞎扯plug-in
- PI Achive Plug-In
- Plug-in插件技术
- Plug-In 1.1
- 关于jquery plug-in
- 用JAVA连接Hbase的DBHelp类
- 《探索C++多线程》:condition_variable源码(一)
- 欢迎使用CSDN-markdown编辑器
- C#实现Office文档转Pdf的方法
- 微信小程序开发常见问题FAQ只四
- Plug-in 简单控件
- 中间件技术入门教程
- 【JavaScript】1.ECMAScript6新特性
- 使用vi打开.cpp文件,格式化代码时需要让tab缩进4个空格,如何设置vi
- java——list切割
- Git查看、删除、重命名远端分支和tag
- jQuery删除数组中重复元素
- 数据结构 树及树的存储结构
- Laravel Middleware 中间件