免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3532 | 回复: 18
打印 上一主题 下一主题

JTextArea出问题了..... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-09 14:32 |只看该作者 |倒序浏览
麻烦高手来看下why?
*********************************
问题描述如图)
上面是一个下拉框,下面是一个TextArea,TextArea的内容是根据下拉框的变化而变化(就是一个介绍信息)
**********************************
实现方法:读取下拉框相对应的txt文件的内容,然后显示在TextArea中.
******************************
ps:下面的这个图是正常的图.

1.gif (17.26 KB, 下载次数: 144)

1.gif

论坛徽章:
0
2 [报告]
发表于 2005-03-09 14:34 |只看该作者

JTextArea出问题了.....

这个图就是点击几次(几次不一定有时候一直没什么问题有时候就会1,2次就出这个问题)的不正常的图.
********************
ps:代码我贴在第3楼.

3.gif (21.26 KB, 下载次数: 145)

3.gif

论坛徽章:
0
3 [报告]
发表于 2005-03-09 14:37 |只看该作者

JTextArea出问题了.....

**********************
实现添加的代码
*************************************
class addTa extends Thread
{
addTa()
{
}//end of addta()
public void run()
{
addTextArea();
}//end of run
//
public void addTextArea()
throws IOException
{ta.setText("";//先清空原来ta显示的内容
BufferedReader br=new BufferedReader(new FileReader(filename));//从一个文件中读取.
String line=br.readLine();//添加到ta中
while(line!=null)
{ta.append(line+"\n";
line=br.readLine();
}

}//end of void addTestArea()



}//end of class addTa

论坛徽章:
0
4 [报告]
发表于 2005-03-09 14:42 |只看该作者

JTextArea出问题了.....

补充一点......
那个下拉框的响应事件也是用使用这个类来添加textarea的....
不了解为什么会出上面图所示的这个问题.希望各位高手帮忙下.多谢!
*************

论坛徽章:
0
5 [报告]
发表于 2005-03-09 15:21 |只看该作者

JTextArea出问题了.....

为什么要用线程呢?

论坛徽章:
0
6 [报告]
发表于 2005-03-09 15:23 |只看该作者

JTextArea出问题了.....

我觉得有可能是你的响应事件处理没有作好 把那个部分代码贴出来看一下,好吗?

论坛徽章:
0
7 [报告]
发表于 2005-03-09 16:34 |只看该作者

JTextArea出问题了.....

TO :sakulagi.......因为在操作的过程中有一部分需要把光盘A取出来.然后放入别的盘B...然后再把光盘A放进去.我的问题来了:取出光盘A然后再放进光盘A,如何实现点击下拉框等操作依然是正常的?........如果只是用一个add方法不用Thread的话能实现么?

论坛徽章:
0
8 [报告]
发表于 2005-03-09 16:43 |只看该作者

JTextArea出问题了.....

[quote]原帖由 "白色乌鸦"]我觉得有可能是你的响应事件处理没有作好 把那个部分代码贴出来看一下,好吗?[/quote 发表:

*************************************
响应下拉框的代码如下:
************************************
class respChoice implements ItemListener
{
respChoice()
{
}
//响应事件
public void itemStateChanged(ItemEvent e)
{
if(e.getItemSelectable()instanceof JComboBox)
{
JComboBox temp=(JComboBox)(e.getItemSelectable());//下拉框是JComboBox类型的
String s=s=temp.getSelectedItem().toString();
//
//
ata=new addTa();//new 了一下3楼的那个类.这里的类名addta可能错了,程序中没错
ata.start();
}//end of if


}//end of public void item statechanged





}//end of class

论坛徽章:
0
9 [报告]
发表于 2005-03-10 09:17 |只看该作者

JTextArea出问题了.....

我觉得应该是这样的,当你多次点击下拉框选中不同的选项,触发itemstatechanged的事件,就有可能造成开启多个同一线程addTa.于是就出现了上述状况。

论坛徽章:
0
10 [报告]
发表于 2005-03-10 13:37 |只看该作者

JTextArea出问题了.....

那么这个问题如何解决呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP