【发布时间】:2019-02-22 16:49:12
【问题描述】:
我正在尝试创建一个实用方法来创建和显示一个以窗格作为参数的 JavaFx 应用程序。它不一定是运行 javaFx 应用程序的“正确”方式,因为它实际上只是一种快速测试窗格外观的方法。
这是我正在尝试做的 java swing 等价物:
具有创建和显示带有传入组件(即JPanel)的JFrame的方法的实用程序类:
public class FrameUtility {
public static void createAndShowJFrame(JComponent component) {
JFrame frame = new JFrame();
frame.add( component );
frame.pack();
frame.setVisible(true);
}
}
示例用法:
public class CustomPanel extends JPanel {
//Custom Panel Code....
//Test method
public static void main(String[] args) {
FrameUtility.createAndShowJFrame( new CustomPanel() );
}
}
这在 JavaFx 中可行吗?
【问题讨论】:
-
这个实用方法是打算成为更大应用程序的一部分还是只是一个测试应用程序?
-
一种方式或另一种类需要重新编译。为什么不在
start方法中简单地调整行Parent root = someNode;的右侧?否则stackoverflow.com/questions/24611789/… -
@Slaw 该实用程序方法将位于其他各种模块/项目中使用的“通用”库中。我试图避免不得不处理添加填充/布局管理器和清理额外的导入
-
好吧,从您发布的 Swing 代码中,等效的 JavaFX 代码将创建
Scene以Pane作为根,创建一个Stage,设置SceneStage,并显示Stage(即stage.show())。如果您在创建Scene时未指定尺寸,它将使用根的首选尺寸。注意根只需要是Parent,Pane是它的子类。