1

我是 JavaFX 的新手。所以我想知道下面提供的代码是通过声明 .fx 文件来为 JavaFX 应用程序添加代码的好方法。

或者

我们应该使用.java 文件进行编码。在这方面需要帮助。

   import javafx.stage.Stage;
   import javafx.scene.Scene;
   import javafx.scene.Group;
   import javafx.scene.text.Text;

   import javafx.ext.swing.SwingLabel;
   import javafx.ext.swing.SwingTextField;
   import javafx.ext.swing.SwingButton;

   var login = false;
   var userName = "";
   var systemUser = "test";
   Stage {
    title : "Login App"
    scene: Scene {
        width: 300
        height: 300
        content: bind if(not login) Group{
                          content: [
                             SwingLabel{
                                 text: "User Name:"
                             },


                             SwingTextField {
                                 text : bind userName with inverse;
                                 columns : 10;
                                 editable : true;


                             },
                             SwingButton{
                                 translateX: 50
                                 translateY: 50
                                 text: "Submit"
                                 action: function(){
                                     if((userName != systemUser)) {
                                            println("Invalid UserName");

                                 }
                                 login = (userName == systemUser);
                                 }
                            }

                         ]
                     } 
                     else Group{
                         content: [

                   Text {
                                 x: 10 y: 30
                                 content: "You have successfully logged in."
                              },
                              SwingButton{
                                 translateX: 10
                                 translateY: 50
                                 text: "Log out"
                                 action: function(){
                                  userName = "";
                                  login = false;
                                }
                              }

                      ]
                  }
                } 
    }
4

1 回答 1

3

您问题中的 JavaFX 脚本代码(带有 .fx 文件)来自过时的 JavaFX 1.x 分支。 我强烈建议您不要使用 JavaFX 1.x 分支。Oracle 本月将放弃对它的所有支持。

您问题中的脚本代码还集成了 JavaFX 中的 Swing 控件,当前 JavaFX 2.x 版本不支持该控件。

相反,使用 JavaFX 2+ 并使用 Java(带有 .java 文件)编写 JavaFX 代码,仅使用 JavaFX 控件而不使用 Swing 控件。

有一些出色的教程可以帮助您入门:

于 2013-02-15T19:53:23.947 回答