我想要完成的是从另一个线程设置一个文本字段。我的程序有一个按钮,当我单击它时,一个新线程开始运行,然后从套接字中获取一些东西,我想根据数据设置三个文本字段,但我做不到。我在我的主窗口类中编写了一个方法来进行.settext()
调用,但我无法调用该方法,因为我什至没有对我的主窗口实例的引用。如何正确更新我的文本框。
还有一个小问题,我是否必须使我的组合框成为最终的,因为编译器会这样抱怨。
无法引用在不同方法 MainWindow.java 中定义的内部类中的非最终变量组合框
这是什么原因造成的?
public void run()
{
os.print("INIT {ClassName USARBot."+type.name +"} {Location "+firstPos.x+" , "+firstPos.y+" ,"+firstPos.z+" } {Name "+robotName+"}\r\n");
while (true)
try
{
String str=is.readLine();
String[] substr1=null;
Position p = new Position();
Scanner s=null;
if(str.contains("{Type GroundTruth}"))
substr1=str.split(" ");
s=new Scanner(substr1[8]);
p.x=s.nextDouble();
p.y=s.nextDouble();
p.z=s.nextDouble();
s.close();
//Here I want to set Textfields in MainWindow
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}