试图从线程更改JFrame的标题?

时间:2014-02-17 21:59:10

标签: java multithreading static jframe

当我尝试使用我在与JFrame相同的类中创建的函数从线程设置我的JFrame的标题时:

public  void setTheTitle(String newTitle)
{
    this.setTitle(newTitle);
}

在我的主题中,我尝试使用该功能:

Main.setTitle(schar1 + schar2 + "-Resistance-" + schar3 + schar4);

(主要是我的类的名称,schar1,shcar2,schar3和schar4是先前在线程中定义的变量)

当我这样做时,它表示我不能从Frame类型对非静态方法setTitle(String)进行静态引用。所以我将功能更改为:

public static void setTheTitle(String newTitle)
{
    this.setTitle(newTitle);
}

现在这给了我一个错误,我不能在静态上下文中使用它。有谁能告诉我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是我最好的选择 - 考虑到给定的代码量 - 尝试设置JFrame而不是扩展它

private JFrame jf = new JFrame("First Title");

并从该方法访问标题

jf.setTitle(newTitle);