将简单的Applet GUI从Swing转换为JavaFX

将简单的Applet GUI从Swing转换为JavaFX,java,swing,applet,javafx,Java,Swing,Applet,Javafx,我正在尝试创建一个小程序,用一个漂亮的JavaFXGUI替换一个混乱的CLI。我没有丰富的GUI设计经验,我们在课堂环境中学到的大部分内容都是Swing/AWT。在玩弄了一点JavaFX之后,我觉得它已经被证明是更好的了,但是关于创建JavaFX程序作为applet运行的好教程/文章并不多。现在我甚至无法将下面的简单登录UI从Swing转换为JavaFX import java.applet.Applet; import java.awt.*; import javax.swing.*; p

我正在尝试创建一个小程序,用一个漂亮的JavaFXGUI替换一个混乱的CLI。我没有丰富的GUI设计经验,我们在课堂环境中学到的大部分内容都是Swing/AWT。在玩弄了一点JavaFX之后,我觉得它已经被证明是更好的了,但是关于创建JavaFX程序作为applet运行的好教程/文章并不多。现在我甚至无法将下面的简单登录UI从Swing转换为JavaFX

import java.applet.Applet;
import java.awt.*;
import javax.swing.*;


public class ACLEditor extends Applet {

    public void init() {

        /* Basic Layout */
        setLayout(new GridLayout(5, 2));

        /* Components */
        JLabel username_l = new JLabel("Username:");
        JTextField username = new JTextField("", 10);
        JLabel password_l = new JLabel("Password:");
        JPasswordField password = new JPasswordField("", 10);
        JLabel hostname_l = new JLabel("Hostname:");
        JTextField hostname = new JTextField("0.0.0.0", 10);

        JButton connect_btn = new JButton("Connect");

        /* Place all Controls on the Layout */
        add(username_l);
        add(username);
        add(password_l);
        add(password);
        add(hostname_l);
        add(hostname);
        add(connect_btn);

    }


}
在此方面的任何帮助都将不胜感激。
注意:我确实了解如何为一个独立的应用程序创建JavaFXUI,但我似乎无法掌握如何将其制作成一个小程序。

环顾四周之后,将JavaFX元素合并到使用Swing UI体系结构的项目(如我的小程序)中的最佳方法似乎是将这些元素放在JFXPanel上


这将允许以与最初相同的方式部署小程序,同时还将美观的JavaFX组件添加到GUI中。

从JavaFX 8开始,您可以使用在某些桌面浏览器中部署JavaFX应用程序。关于这种方法有一些警告。其中一些的简要说明以及如何部署的摘要位于:


您不需要JFXPanel来实现这一点,除非您的应用程序也使用了Swing控件,否则我不推荐使用JFXPanel。

小程序有点不受欢迎,因为要让它们在浏览器安全性方面发挥作用太难了。“如何将JavaFX应用程序部署为小程序”作为完整的SO答案可能需要花费太多的时间,但有一个包含小程序部署的部署指南。是的,我在我的“不受信任的应用程序”中遇到过几次浏览器安全问题,并试图使用HTML5+WebSockets完成项目,但都失败了。小应用程序是迄今为止我成功实现的最好的Java实现(也称为理解),如果这有意义的话,我会“卡住”使用它们。