如何使用 JavaFx 创建带标题的窗格?

javafxobject oriented programmingprogramming更新于 2025/4/14 15:22:17

标题窗格只是一个带有标题的窗格。它包含一个或多个用户界面元素 如按钮、标签等。您可以展开和折叠它。

您可以通过实例化 javafx.scene.control.TitledPane 类在 JavaFX 中创建带标题的窗格。创建后,您可以使用 setText() 方法向窗格添加标题,并使用 setContent() 方法向其添加内容。

示例

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TitledPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class TitledPaneExample extends Application {
   @Override
   public void start(Stage stage) {
      //创建按钮
      Button button = new Button();
      //设置按钮的标题
      button.setText("Click Here");
      //创建 TitlePane
      TitledPane pane = new TitledPane();
      pane.setLayoutX(200);
      pane.setLayoutY(75);
      pane.setText("Sample Titled Pane");
      //将内容设置为标题窗格
      pane.setContent(button);
      //设置舞台
      Group root = new Group(pane);
      Scene scene = new Scene(root, 595, 150, Color.BEIGE);
      stage.setTitle("Titled Pane Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出

示例

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TitledPane;
import javafx.scene.control.ToggleButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class TiledPane2 extends Application {
   @Override
   public void start(Stage stage) {
      //创建切换按钮
      ToggleButton button1 = new ToggleButton("Java");
      ToggleButton button2 = new ToggleButton("Python");
      ToggleButton button3 = new ToggleButton("C++");
      //切换按钮组
      ToggleGroup group = new ToggleGroup();
      button1.setToggleGroup(group);
      button2.setToggleGroup(group);
      button3.setToggleGroup(group);
      //将切换按钮添加到窗格
      VBox box = new VBox();
      box.getChildren().addAll(button1, button2, button3);
      //创建 TitlePane
      TitledPane pane = new TitledPane();
      pane.setLayoutX(10);
      pane.setLayoutY(10);
      pane.setText("OpenCV 示例");
      //将切换按钮添加到窗格
      pane.setContent(box);
      //设置舞台
      Scene scene = new Scene(pane, 595, 150, Color.BEIGE);
      stage.setTitle("Titled Pane Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出


相关文章