【发布时间】:2014-02-17 21:59:09
【问题描述】:
当我尝试使用我在与 JFrame 相同的类中创建的函数从线程中设置 JFrame 的标题时:
public void setTheTitle(String newTitle)
{
this.setTitle(newTitle);
}
在我的线程中,我尝试通过以下方式使用该功能:
Main.setTitle(schar1 + schar2 + "-Resistance-" + schar3 + schar4);
(Main是我的类的名字,schar1、shcar2、schar3、schar4是前面Thread中定义的变量)
当我这样做时,它表示我无法从 Frame 类型中对非静态方法 setTitle(String) 进行静态引用。所以我把函数改成这样:
public static void setTheTitle(String newTitle)
{
this.setTitle(newTitle);
}
现在这给了我一个错误,我不能在静态上下文中使用它。谁能告诉我如何解决这个问题?
【问题讨论】:
-
格式化您的问题,否则没人会阅读它...
-
文本块和未格式化的代码 - 这个问题看起来不太好。更重要的是永远不要在 EDT 之外更改或以其他方式与 Swing 组件交互。也许从Oracle tutorial on the topic开始。
-
你不能在
static函数中使用this...基本101编程知识!
标签: java multithreading static jframe