JAVA 两个类控制JTextArea输出

有两个类A和BA负责GUI的设计,其中有个JTextArea;定义为protectedB负责计算m而m是一个一直变化的数值,JTextArea要实时输出怎么办到?(计算m... 有两个类 A和B

A负责GUI的设计,其中有个JTextArea;定义为protected
B负责计算m 而m是一个一直变化的数值,JTextArea要实时输出

怎么办到?(计算m的过程是个While循环)
展开
 我来答
hanzsim
2009-11-15 · TA获得超过1540个赞
知道小有建树答主
回答量:922
采纳率:0%
帮助的人:1095万
展开全部
那B类必然要做一个线程了。至于设计成什么样的,你应该根据你的需要去做。
JTextArea的getText()和setText(String)都相对耗时的,如果一次调用没什么问题,可在线程中重复调用不是好风格。可以考虑在线程B中,设置一个输出项数据,需要更改JTextArea的内容时,先由类内部数据生成结果串,再调用一次setText,尽量别调用getText。
另,JTextArea是protected的,那A和B还必须在同包。
tespo
2009-11-20 · TA获得超过250个赞
知道答主
回答量:236
采纳率:0%
帮助的人:221万
展开全部
import java.awt.*;
import javax.swing.*;
public class A{
protected JTextArea text=new JTextArea();
//其它.....
public change(int m){
text.setText(String.valueOf(m));
}
}
class B{
public static void main(String args[]){
A a=new A();
while(true){
//对m的处理....
A.change(a);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daay1986
2009-11-27 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1477万
展开全部
b相当于model,a就是View,只要b在改变数值的时候发个消息就可以了。当然a改变数值也可以通知b,但是别发消息发死循环了。千万不要用多线程,gui用多线程很麻烦。容易出问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengweizhi1985
2009-11-15 · TA获得超过524个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:226万
展开全部
把输出到JTextArea 的语句放到一个线程里面,然后启动线程就会实时输出了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lindily
2009-11-15 · TA获得超过375个赞
知道小有建树答主
回答量:789
采纳率:0%
帮助的人:431万
展开全部
开一个线程,每格N秒让area getText 一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式