Java界面 SWT基本组件——文本框(Text)

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


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()将剪贴板上的字符粘贴到文本框



  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值