javafx包怎么使用
- 后端开发
- 2025-08-07
- 8
vaFX 是一个用于构建富客户端应用程序的图形和媒体工具包,它提供了一组统一的 API,可以用来创建和管理复杂的用户界面,以下是关于如何使用 JavaFX 包的详细指南:
环境准备
安装 JDK
确保你的系统上已经安装了 JDK(Java Development Kit),可以从 Oracle 官方网站或 OpenJDK 项目下载并安装最新版本的 JDK。

设置开发环境
你可以使用任意支持 Java 的集成开发环境(IDE),如 IntelliJ IDEA、Eclipse 或 NetBeans,以下以 IntelliJ IDEA 为例:
-
创建新项目:
- 打开 IntelliJ IDEA,选择 File > New > Project。
- 在左侧选择 Java,然后点击 Next。
- 输入项目名称和位置,然后点击 Finish。
-
添加 JavaFX 库:

- 右键点击项目名称,选择 Open Module Settings。
- 在左侧选择 Libraries,然后点击右侧的 按钮。
- 选择 Java,然后导航到 JDK 安装目录下的 lib 文件夹,选择 lib/ext/jfxrt.jar 文件并点击 OK。
创建基本的 JavaFX 应用
编写第一个 JavaFX 程序
下面是一个简单的 JavaFX 应用程序示例,该程序显示一个窗口,并在窗口中显示 “Hello, JavaFX!”。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.stage.Stage; public class HelloJavaFX extends Application { @Override public void start(Stage primaryStage) { // 创建一个标签并设置文本 Label label = new Label("Hello, JavaFX!"); // 创建一个场景,并将标签添加到场景中 Scene scene = new Scene(label, 400, 200); // 设置舞台的标题 primaryStage.setTitle("Hello JavaFX"); // 将场景设置到舞台上 primaryStage.setScene(scene); // 显示舞台 primaryStage.show(); } public static void main(String[] args) { launch(args); } }
运行程序
在 IDE 中运行上述代码,你将看到一个包含 “Hello, JavaFX!” 文本的窗口。
JavaFX 主要组件
JavaFX 提供了许多 UI 组件,可以用于构建复杂的用户界面,以下是一些常用的组件及其用法:
组件 描述 示例代码 Button 按钮 Button button = new Button("Click Me"); Label Label label = new Label("Text"); TextField 单行文本输入框 TextField textField = new TextField(); TextArea 多行文本输入框 TextArea textArea = new TextArea(); CheckBox 复选框 CheckBox checkBox = new CheckBox(); RadioButton 单选按钮 RadioButton radioButton = new RadioButton(); ComboBox 下拉列表 ComboBox<String> comboBox = new ComboBox<>(); TableView 表格视图 TableView<Person> tableView = new TableView<>(); ListView 列表视图 ListView<String> listView = new ListView<>(); ImageView 图像视图 ImageView imageView = new ImageView(); Slider 滑块 Slider slider = new Slider(); ProgressBar 进度条 ProgressBar progressBar = new ProgressBar(); MenuBar 菜单栏 MenuBar menuBar = new MenuBar(); ContextMenu 上下文菜单 ContextMenu contextMenu = new ContextMenu(); Alert 对话框 Alert alert = new Alert(Alert.AlertType.INFORMATION); Dialog 对话框 Dialog<String> dialog = new Dialog<>(); WebView 网页视图 WebView webView = new WebView(); MediaPlayer 媒体播放器 MediaPlayer mediaPlayer = new MediaPlayer(new Media(new File("video.mp4").toURI().toString())); MediaView 媒体视图 MediaView mediaView = new MediaView(mediaPlayer); Animation 动画 TranslateTransition transition = new TranslateTransition(); Timeline 时间轴动画 Timeline timeline = new Timeline(); Effect 特效 DropShadow dropShadow = new DropShadow(); Blend 混合效果 Blend blend = new Blend(); ColorAdjust 颜色调整 ColorAdjust colorAdjust = new ColorAdjust(); Glow 发光效果 Glow glow = new Glow(); PerspectiveTransform 显示变换 PerspectiveTransform perspectiveTransform = new PerspectiveTransform(); Rotate 旋转变换 Rotate rotate = new Rotate(); Scale 缩放变换 Scale scale = new Scale(); Shear 错切变换 Shear shear = new Shear(); Translate 平移变换 Translate translate = new Translate(); Accordion 折叠面板 Accordion accordion = new Accordion(); FlowPane 流式布局 FlowPane flowPane = new FlowPane(); GridPane 网格布局 GridPane gridPane = new GridPane(); HBox 水平盒子布局 HBox hbox = new HBox(); VBox 垂直盒子布局 VBox vbox = new VBox(); BorderPane 边框布局 BorderPane borderPane = new BorderPane(); StackPane 堆叠布局 StackPane stackPane = new StackPane(); TilePane 瓦片布局 TilePane tilePane = new TilePane(); AnchorPane 锚点布局 AnchorPane anchorPane = new AnchorPane(); Background 背景 Background background = new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)); Border 边框 Border border = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, BorderWidths.DEFAULT)); Padding 内边距 Padding padding = new Padding(10); Margin 外边距 Margin margin = new Margin(10); Alignment 对齐方式 Pos.CENTER Orientation 方向 Orientation.HORIZONTAL Spacing 间距 HBox.setSpacing(hbox, 10); Padding 内边距 VBox.setMargin(vbox, new Insets(10)); Margin 外边距 GridPane.setMargin(gridPane, new Insets(10)); Constraints 约束 GridPane.setConstraints(gridPane, new GridPane.Constraints(0, 0)); Priority 优先级 HBox.setHgrow(hbox, Priority.ALWAYS); FillWidth 填充宽度 Region.setMaxWidth(region, Double.MAX_VALUE); FillHeight 填充高度 Region.setMaxHeight(region, Double.MAX_VALUE); BaselineOffset 基线偏移量 Label.setGraphicTextGap(label, 10); LineSpacing 行间距 Text.setLineSpacing(text, 10); WrapText 自动换行 Text.setWrappingWidth(text, 100); Font 字体 Text.setFont(text, new Font("Arial", 12)); Strikethrough 删除线 Text.setStrikethrough(text, true); Underline 下划线 Text.setUnderline(text, true); Italic 斜体 Text.setStyle(text, "-fx-font-style: italic;"); Bold 粗体 Text.setStyle(text, "-fx-font-weight: bold;"); Subscript 下标 Text.setUnderline(text, true); Superscript 上标 Text.setUnderline(text, true); TextAlignment 文本对齐方式 Text.setTextAlignment(text, TextAlignment.CENTER); WrappingWidth 自动换行宽度 Text.setWrappingWidth(text, 100); Effect 特效 Text.setEffect(text, new DropShadow()); BlendMode 混合模式 Text.setBlendMode(text, BlendMode.MULTIPLY); Opacity 不透明度 Text.setOpacity(text, 0.5); Rotate 旋转角度 Text.setRotate(text, 45); ScaleX X轴缩放比例 Text.setScaleX(text, 1.5); ScaleY Y轴缩放比例 Text.setScaleY(text, 1.5); ShearX X轴错切角度 Text.setShearX(text, 10); ShearY Y轴错切角度 Text.setShearY(text, 10); TranslateX X轴平移距离 Text.setTranslateX(text, 10); TranslateY Y轴平移距离 Text.setTranslateY(text, 10); Effect 特效 Text.setEffect(text, new Glow()); BlendMode 混合模式 Text.setBlendMode(text, BlendMode.ADD); Opacity 不透明度 Text.setOpacity(text, 0.5); Rotate 旋转角度 Text.setRotate(text, 45); ScaleX X轴缩放比例 Text.setScaleX(text, 1.5); ScaleY Y轴缩放比例 Text.setScaleY(text, 1.5); ShearX X轴错切角度 Text.setShearX(text, 10); ShearY Y轴错切角度 Text.setShearY(text, 10); TranslateX X轴平移距离 `Text. 