【发布时间】:2017-05-24 09:06:12
【问题描述】:
我确定我遗漏了一些明显的东西,但我对 java 还很陌生。
无论如何,我需要子对象更新父对象中的变量以显示进度信息。
package XXX
{
class aaa
{
//has Main()
//instantiates an instance of bbb and runs it.
bbb myForm = new bbb();
myForm.setVisible(true);
}
class bbb
{
public JTextField jProgressField = new JTextField();
//builds a form with buttons that also shows jProgressField.
//when you push the "go" button, it instantiates CCC object and tells it to do stuff
ccc doStuff = new ccc();
doStuff.goAndConquer();
}
class ccc
{
protected goAndConquery()
{
//blah blah blah
//processes a file
//needs to update ccc with progress information that will still be there to be read when ccc.goAndConquer ends and goes out of scope
}
}
}
所有一个包。
三个文件中的三个类。
代码正常工作并且事情发生了......但是......我需要在处理发生时使用来自 ccc 的数据更新表单(bbb 的实例)(进度条和发生的事情的运行日志)。 如何将数据流发送回“父级”或调用实例/对象?
本质上,在 ccc 中,我想这样做(重复,因为它贯穿正在处理的文件)
myParentWhoCreatedMeAndCalledMe.jProgressField = myParentWhoCreatedMeAndCalledMe.jProgressField + "next line of status information";
【问题讨论】:
-
请提供完整代码。它不可读。
-
我同意@Piotrowy,有点——我想看看你的minimal reproducible example,而不是你的“完整代码”。如果您遇到严重的问题并需要认真的帮助,请发布严肃的真实代码,而不是那种代码。射击,您的代码甚至没有显示继承,而且您的问题看起来像是您甚至可能在滥用继承。
-
我可能误用了继承。我不知道。
-
Amit 已经成功回答了这个问题,所以我觉得没有必要更新这个问题。显然,阿米特已经足够清楚地认识到问题并以建设性和有用的方式做出回应。关闭以完成代码测试。