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更加新穎,還存在一些局限性。