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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将简单的Applet GUI从Swing转换为JavaFX相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个applet,它将用一个漂亮的JavaFX GUI取代令人困惑的CLI。我没有丰富的GUI设计经验,我们在课堂环境中学到的大部分都是Swing / AWT。玩了一点JavaFX后,我觉得它已经表现得好多了,但是没有很多关于创建打算作为applet运行的JavaFX程序的好教程/文章。现在我甚至无法将以下简单的登录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);

    }


}

任何有关这方面的帮助将不胜感激。注意:我确实了解如何为独立应用程序创建JavaFX UI,我似乎无法掌握如何将其变为applet

答案

从JavaFX 8开始,您可以使用JavaFX packaging tools and deployment toolkit在某些桌面浏览器中部署JavaFX应用程序。关于这种方法有一些警告。其中一些内容的简要说明以及如何部署的摘要如下:JavaFX - can it really be deployed in a browser?

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

另一答案

在查看更多内容之后,将JavaFX元素合并到使用Swing UI体系结构的项目(如我的小applet)中的最佳方法似乎是将这些元素放在JFXPanel上。

http://docs.oracle.com/javafx/2/api/javafx/embed/swing/JFXPanel.html

这将允许以与原来相同的方式部署applet,同时还向GUI添加漂亮的JavaFX组件。

以上是关于将简单的Applet GUI从Swing转换为JavaFX的主要内容,如果未能解决你的问题,请参考以下文章

java awt;java applet;java swing分别是啥?他们之间有啥联系和区别?

组件的 Java Applet GUI 问题

JAVA汇率转换程序求助,不知道哪里错了

用于 GUI 构建的 Java AWT 或 Swing?

Applet 和 Swing 未在 Eclipse 中显示组件

将处理3嵌入到swing中