Java Swing是一个创建Java GUI应用程序的框架,它允许开发人员使用Java编程语言创建复杂的图形界面。
相较于Swing,Java FX是一个更加现代化、功能更加强大的UI框架。它采用了基于场景图的接口,使用CSS实现样式表和FXML来实现UI和业务逻辑之间的解耦合。
//使用Java Swing创建窗口 import javax.swing.*; public class MyFrame extends JFrame { private JButton myButton; private JTextField myTextField; public MyFrame() { myButton = new JButton("Click me"); myTextField = new JTextField("Text here"); add(myButton); add(myTextField); pack(); setVisible(true); } } //使用Java FX创建窗口 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class MyFXApplication extends Application { private Button myButton; private TextField myTextField; @Override public void start(Stage primaryStage) { myButton = new Button("Click me"); myTextField = new TextField("Text here"); StackPane root = new StackPane(); root.getChildren().addAll(myButton, myTextField); Scene scene = new Scene(root, 300, 250); primaryStage.setScene(scene); primaryStage.show(); } }
可以看出,Java FX相较于Swing更加简洁,代码量更少,并且提供了更加现代化的UI组件和样式风格。然而,在使用上,Java FX的学习曲线也较为陡峭,且因其比Swing更加新颖,还存在一些局限性。