我想运行新的Swing线程并将参数传递给它们。 像这样:
String str;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Play game = new Play(this.str);
game.setVisible(true);
}
});
我找到了answer, how to pass a parameter into thread,但我不确定如何根据我的需要重建它。 谢谢您的想法。
答案 0 :(得分:3)
或者,您的匿名Runnable
可以访问封闭范围内的最终字段:
final String str = "one";
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Play game = new Play(str);
game.setVisible(true);
}
});
答案 1 :(得分:0)
你做不到。改为换新Thead。
编辑:这是一些代码,因为你很困惑。
import javax.swing.SwingUtilities;
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new MyThread("StackOverflow"));
}
private static class MyThread extends Thread {
String text;
public MyThread(String text) {
this.text = text;
}
@Override
public void run() {
System.out.println(this.text);
}
}
}