我想运行新的 Swing 线程并将参数传递给它们。像这样的东西:
String str;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Play game = new Play(this.str);
game.setVisible(true);
}
});
我找到了答案,如何将参数传递给线程,但我不确定如何根据需要重建它。感谢您的想法。
我想运行新的 Swing 线程并将参数传递给它们。像这样的东西:
String str;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Play game = new Play(this.str);
game.setVisible(true);
}
});
我找到了答案,如何将参数传递给线程,但我不确定如何根据需要重建它。感谢您的想法。
或者,您的匿名Runnable
用户可以访问封闭范围内的最终字段:
final String str = "one";
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Play game = new Play(str);
game.setVisible(true);
}
});
你不能。而是制作一个新的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);
}
}
}