如何清空 java swt 的text 控件中的文本。得到答案后再加5分。
我做了个简单的界面,里面有个text组件是这样声明的:textArea=newText(sShell,SWT.MULTI|SWT.WRAP|SWT.V_SCROLL);t...
我做了个简单的界面,里面有个text组件是这样声明的:
textArea = new Text(sShell, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
textArea.setBounds(new Rectangle(78, 40, 584, 134));
我有一个函数,可以反馈一个String类型的变量result。我把textArea用于显示这个函数的反馈结果,使用 textAre.setText(result);
现在,我想要在每次执行这个函数的时候,把textArea中的文本清空掉,以便显示下一个结果。请问谁知道怎么做啊?
得到答案后再加5分。
我就是需要一个能够清空 text控件中的内容的函数。因为,在以后每次调用 setText() 函数,文本框中显示的结果就是所有文本的内容。上一次的结果也会显示在里面。手动删除是没用的 展开
textArea = new Text(sShell, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
textArea.setBounds(new Rectangle(78, 40, 584, 134));
我有一个函数,可以反馈一个String类型的变量result。我把textArea用于显示这个函数的反馈结果,使用 textAre.setText(result);
现在,我想要在每次执行这个函数的时候,把textArea中的文本清空掉,以便显示下一个结果。请问谁知道怎么做啊?
得到答案后再加5分。
我就是需要一个能够清空 text控件中的内容的函数。因为,在以后每次调用 setText() 函数,文本框中显示的结果就是所有文本的内容。上一次的结果也会显示在里面。手动删除是没用的 展开
3个回答
展开全部
既然是晴空,直接为textArea设置内容为""即可啊
textArea.setText("")
textArea.setText("")
追问
这个方法我试过,textArea经过setText()这个函数处理之后,只是将setText()函数里的内容补充到textArea的内容的后面,也就是说:就算,setText(""),textArea的文本内容是不会被清空的,只是在原有的内容中,加上"",我试过了。这个方法不行
追答
不是方法不行,必然是你有其他的修改。
比如说,有可能你给textArea增加了一个modify监听,监察到改动的时候,将原来的内容保留,附加上新的内容。
我们来看看看setText源码:
public void setText (String string) {
checkWidget ();
if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
string = Display.withCrLf (string);
if (hooks (SWT.Verify) || filters (SWT.Verify)) {
int length = OS.GetWindowTextLength (handle);
string = verifyText (string, 0, length, null);
if (string == null) return;
}
int limit = (int)/*64*/OS.SendMessage (handle, OS.EM_GETLIMITTEXT, 0, 0) & 0x7FFFFFFF;
if (string.length () > limit) string = string.substring (0, limit);
/*上面都是检查和过滤String,注意下面这两句,把Strng转为TCHAR,然后使用OS操作进行修改,这个OS操作是只有设置功能的*/
TCHAR buffer = new TCHAR (getCodePage (), string, true);
OS.SetWindowText (handle, buffer);
int bits = OS.GetWindowLong (handle, OS.GWL_STYLE);
if ((bits & OS.ES_MULTILINE) != 0) {
sendEvent (SWT.Modify);
// widget could be disposed at this point
}
}
所以,同学,不要纠结于setText方法了,setText("")是无误的,检查代码的其他部分吧。
另,当然你最好把你的完整代码都贴上来或者发我邮箱anrainie@163.com
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给文本赋空值t.setText("");求满意。
追问
满意什么啊满意,你看楼上之前的回答和我的追问了么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参照一楼,setText("");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询