所以,我目前正在尝试使用LWJGL3,它要求interface CssPropertyValues {
marginLeft? :string |number;
}
interface RecursiveCssProperties {
[key: string]: CssProperties;
}
type CssProperties = CssPropertyValues & RecursiveCssProperties;
let foo: CssProperties = {};
let myMargin = foo.bar.really.foobar.marginLeft; //should work... myMargin is typed as string|number|undefined
用于初始化GLFW窗口。我也在尝试创建一个各种类型的启动器,这需要Java Swing或JavaFX。但是,我发现如果启用了JVM参数,那么Swing和JavaFX都不会显示窗口,而Printing仍然可以使用main方法。例如:
-XstartOnFirstThread
正确输出:“hi”和“hi again”但是,框架永远不会打开,当参数被删除时,框架会起作用。我也尝试将框架放在一个新线程中:
public static void main(String[] args) {
System.out.println("hi");
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
frame.setLocationRelativeTo(null);
frame.setTitle("Angulus");
frame.setResizable(false);
frame.pack();
frame.setVisible(true);
System.out.println("hi again.");
}
同样的问题再次出现,这个窗口只有在没有
的情况下才会打开 public static void main(String[] args) throws Exception {
System.out.println("hi");
new Thread(() -> {
System.out.println("hi again.");
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
frame.setLocationRelativeTo(null);
frame.setTitle("Angulus");
frame.setResizable(false);
frame.pack();
frame.setVisible(true);
}).start();
}
论点。这同样适用于JavaFX,甚至从未调用-XstartOnFirstThread
方法。