java swt 控件一(文本框)
来源:互联网 发布:linux下连接数据库 编辑:程序博客网 时间:2024/06/02 05:52
SWT 中文本框(Text)的基本类型与基础应用
文本框是常见的控件之一,是可以输入文字的控件。
文本框有单行文本框(SWT.SINGLE)和多行文本框(SWT.MULTI)两种,包含可编辑的文本框与只读的文本框。
本次试验通过一个小程序来说明一个文本框常用的方法。该程序类似编辑器的功能,具有对文本进行全选、使用剪贴板功能的复制和粘贴功能、
代码如下:
- shell.setSize(350, 283);
- shell.setText("SWT.TextSample");
-
-
- final Text content = new Text(shell, SWT.WRAP|SWT.V_SCROLL);
-
- content.setBounds(10, 8, 325, 210);
-
-
- Button selectAll = new Button(shell, SWT.CENTER);
- selectAll.setText("Select All");
- selectAll.setBounds(5, 225, 80, 25);
-
- selectAll.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e){
-
- content.selectAll();
- }
- });
-
- Button cancel = new Button(shell, SWT.CENTER);
- cancel.setText("Cancel Select");
- cancel.setBounds(90, 225, 80, 25);
-
- cancel.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e){
-
- if(content.getSelectionCount() > 0)
-
- content.clearSelection();
-
- }
- });
-
- Button copy = new Button(shell, SWT.CENTER);
- copy.setText("Copy");
- copy.setBounds(175, 225, 80, 25);
-
- copy.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e){
-
- if(content.getSelectionCount() > 0)
- content.copy();
- }
- });
-
-
- Button paste = new Button(shell, SWT.CENTER);
- paste.setText("Paste");
- paste.setBounds(260, 225, 80, 25);
-
- paste.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e){
-
- content.paste();
- }
- });
-
-
- shell.layout();
- shell.open();
Text 类所使用的样式常量样式常量描述SWT.SINGLE单行文本框,如果不指定SWT.SINGL或SWT.MULTI,默认为单行文本框SWT.NONE没有边框的文本框SWT.BORDER带有边框的文本框SWT.LEFT文本框字符靠左对齐,默认样式SWT.CENTER文本框字符居中对齐SWT.RIGHT文本框字符靠右对齐SWT.READ_ONLY只读文本框SWT.PASSWORD密码输入框SWT.MULTI可输入多行文本的文本框SWT.WRAP多行文本框,且自动换行SWT.H_SCROLL带有水平滚动条的多行文本框SWT.V_SCROLL带有垂直滚动条的多行文本框
Text有关本文的方法方法含义setTextLimit(int limit)设置文本长度(文本最大长度)setEditable(boolean editable)设置文本是否可编辑,false 则不可编辑setOrientation(int orientation)设置输入文字方向:SWT.RIGHT_TO_LEFT,SWT.LEFT_TO_RIGHTsetEchoChar(char echo)设置文本输入字符的格式:setEchoChar("*");setTabs(int tabs)设置输入Tab键时退格的字符串append(String string)向文本中插入字符串的方法getCharCount()获得文本框内字符串的长度
Text有关选择文本操作的方法方法含义selectAll()选中所有的字符setSelection(int start)/(int start, int end)/(Point selection)选中指定字符showSelection()显示所设置的选取文本clearSelection()取消所有选择Point getSelection()取得所选中文本的开始位置和结束位置getSelectionCount()取得所选取的字符串长度String getSelectionText()取得所选的字符串copy()将选取的字符串复制到剪贴板cut()将选取的字符串剪切到剪贴板paste()将剪贴板上的字符粘贴到文本框