[英]Is it possible to create java applets using JavaFx?
我想使用Javafx Scene Builder创建一个applet。 我知道创建小应用程序的传统方法,但是最近我开始使用JavaFx,我爱上了可以使用Scene Builder创建出色的用户界面设计然后编写简洁的自定义代码的方法。 因此,到目前为止,我可以使用JavaFx创建桌面程序,但是现在我想编写小型实用程序并将其嵌入浏览器中。 老实说,我不喜欢编写代码来创建小程序的UI的想法,因此我在考虑是否存在使用Javafx创建小程序的方法。
PS-我是Stackoverflow的新手。 因此,请原谅我犯的任何错误。
小程序是一项过时的技术,因此您应该完全忘记它们。 至少在最新的Chrome浏览器中以及最有可能的其他浏览器中,都已删除了对applet的支持。
也不能通过JavaFX创建小程序。
JFXPanel
可以完成此操作,该JFXPanel
允许将JavaFX
组件嵌入到Swing
组件中,并且可以从Swing
组件中轻松创建Applet
。
这是一个将Java FX
Rectangle
绘制到Applet
的示例:
public class Main extends Applet {
private void initAndShowGUI() {
// This method is invoked on Swing thread
final JFXPanel fxPanel = new JFXPanel();
fxPanel.setPreferredSize(new Dimension(100, 100));
add(fxPanel);
setVisible(true);
Platform.runLater(
new Runnable() {
@Override
public void run() {
initFX(fxPanel);
}
}
);
}
private static void initFX(JFXPanel fxPanel) {
// This method is invoked on JavaFX thread
final Scene scene = createScene();
fxPanel.setScene(scene);
}
private static Scene createScene() {
final Rectangle rectangle = new Rectangle(100.0, 100.0);
rectangle.setFill(Color.BLACK);
return new Scene(new VBox(rectangle));
}
@Override
public void init() {
SwingUtilities.invokeLater(
new Runnable() {
@Override
public void run() {
initAndShowGUI();
}
}
);
}
}
但是, Applet已过时 ,将很快被删除,因此,如果您可以避免使用它们,请不要使用它们。 或者,您可以使用Deployment Toolkit library
将JavaFX application
嵌入到网页中,或从浏览器中启动它,有关此方法的更多详细信息,请参见此处 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.