SWT 中文本框(Text)的基本类型与基础应用


文本框是常见的控件之一,是可以输入文字的控件。


文本框有单行文本框(SWT.SINGLE)和多行文本框(SWT.MULTI)两种,包含可编辑的文本框与只读的文本框。


本次试验通过一个小程序来说明一个文本框常用的方法。该程序类似编辑器的功能,具有对文本进行全选、使用剪贴板功能的复制和粘贴功能、


代码如下:


shell.setSize(350, 283);
shell.setText("SWT.TextSample");
//shell.setLayout(new FillLayout(SWT.VERTICAL));	
					
final Text content = new Text(shell, SWT.WRAP|SWT.V_SCROLL);
								// 多行文本框,可自动换行 | 垂直滚动条
content.setBounds(10, 8, 325, 210);
								// (x, y, width, height)
// 全选按钮
Button selectAll = new Button(shell, SWT.CENTER);
selectAll.setText("Select All");
selectAll.setBounds(5, 225, 80, 25);
								// (x, y, width, height)
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);
								// (x, y, width, height)
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);
								// (x, y, width, height)
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);
								// (x, y, width, height)
paste.addSelectionListener(new SelectionAdapter() {
	public void widgetSelected(SelectionEvent e){
		// 将剪贴板板的内容粘贴
		content.paste();
	}
});


shell.layout();
shell.open();



java CSS 文本框 java界面文本框_字符串




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_RIGHT

setEchoChar(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()

将剪贴板上的字符粘贴到文本框