我有一个Java 8应用程序,它使用JavaFX,主类扩展了 javafx.application.Application.目前,我将它作为胖罐提供,它在Oracle Java 8上运行良好.
现在我希望它能够在OpenJDK 11上运行.要添加JavaFX,我已经将org.openjfx中的工件添加到类路径中,并将它们包含在胖jar中.如果我从命令行启动我的jar,我明白了
Error: JavaFX runtime components are missing, and are required to run this
application
Run Code Online (Sandbox Code Playgroud)
我找到了解决此问题的两种可能方法:
虽然我可以使用1.作为一种解决方法,但我想知道目前(OpenJDK 11)构建/交付非模块化JavaFX应用程序的可执行胖罐的方法.有人可以帮忙吗?
我在 BorderPane(的中心)内遇到 FlowPane 的奇怪行为。 
如果我放大或缩小窗口的宽度,一切都很好。导致这种效果的只是一个狭窄的宽度 +- 5 个像素。重现代码:
public class LayoutBugTest extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage) {
TextField tf1 = new TextField("");
TextField tf2 = new TextField("");
TextField tf3 = new TextField("");
tf1.setPrefColumnCount(20);
tf2.setPrefColumnCount(10);
tf3.setPrefColumnCount(10);
FlowPane flow = new FlowPane(10,10, tf1,tf2,tf3);
BorderPane box = new BorderPane();
box.setTop(new Label("Heading"));
box.setCenter(flow);
box.setStyle("-fx-border-width: 2px; -fx-border-color: black; -fx-border-radius: 1em; -fx-padding: 5px;");
VBox anyLayout = new VBox(5, new Label("Before"), box, new Label("After"));
Scene scene = …Run Code Online (Sandbox Code Playgroud)