当前位置: 首页 > 知识库问答 >
问题:

如何在JavaFX中创建具有左、中、右部分的工具栏?

狄宜然
2023-03-14

我试图在JavaFX中创建一个定制的工具栏。此工具栏应该能够在其表面的中心、左侧和右侧(三个部分)显示控件。问题是我不知道要怎么做。我读了很多与这个问题相关的提示,但它们对我不起作用,或者我做错了什么...

public ToolBar createToolBar()
{
    ToolBar toolBar = new ToolBar();
    Pane emptyPane = new Pane();
    HBox spring = new HBox(emptyPane);
    spring.setHgrow(emptyPane, Priority.ALWAYS);
    toolBar.getItems().addAll(spring, new Label("LABEL"));
    return toolBar;
}
    public AnchorPane createToolBar2()
    {
        AnchorPane toolBar = new AnchorPane();
        Label leftLabel = new Label("left");
        Label rightLabel = new Label("right");
        toolBar.getChildren().addAll(leftLabel, rightLabel);
        toolBar.setLeftAnchor(leftLabel, 0.0);
        toolBar.setRightAnchor(rightLabel, 0.0);
        return toolBar;
    }
public StackPane createToolBar3()
{
    StackPane toolBar = new StackPane();
    Button left = new Button("left button");
    Button right = new Button("right button");
    Button center = new Button("center button");
    HBox leftSection = new HBox(left);
    leftSection.setAlignment(Pos.CENTER_LEFT);
    HBox centerSection = new HBox(center);
    centerSection.setAlignment(Pos.CENTER);
    HBox rightSection = new HBox(right);
    rightSection.setAlignment(Pos.CENTER_RIGHT);
    toolBar.getChildren().addAll(leftSection, centerSection, rightSection);

    left.setOnAction(event -> System.out.println("left"));
    right.setOnAction(event -> System.out.println("right"));
    center.setOnAction(event -> System.out.println("center"));
    return toolBar;
}

上面是我在代码块中调用的方法

   @Override
    public void start(Stage stage) {

        BorderPane borderPane = new BorderPane();
        borderPane.setPrefWidth(500);
        borderPane.setPrefHeight(300);
        borderPane.setTop(createToolBar4());
        stage.setScene(new Scene(borderPane));
        stage.show();
    }

如果在那件事上有任何帮助,我将不胜感激。

共有1个答案

濮阳霄
2023-03-14

参见使用工具栏的示例。

这两种尝试都应该足够灵活,以满足您的需要。它们的不同之处在于对布局的控制程度以及可以从常用工具栏继承多少特性。

 类似资料:
  • 问题内容: 我正在尝试在javafx中创建自定义工具栏。该工具栏应该能够在其表面的中心,左侧和右侧(三个部分)显示控件。问题是我不知道要实现这一目标。我阅读了许多与此问题相关的提示,但它们对我不起作用,或者我做错了事… 无论如何,我写了几种方法,它们代表了实现工具栏的不同方法,但它们均无法正常工作。这是您的尝试: 使用HBox的Hgrow属性作为spring。没用 2.它适用于左右部分,但是如何定

  • 我开始学习JPA,并基于我在SQL Server中测试的以下本机SQL实现了一个使用JPA查询的示例: 根据上面的SQL,我构造了以下JPQL查询: 正如您所看到的,我仍然缺少原始查询中的条件。我的问题是,我怎样才能把它放入我的JPQL中?

  • 那么如何将此更改为jpql查询代码呢?谢谢

  • 问题内容: 我开始使用pl / sql开发Oracle运算符。指南中有一些示例,但现在我继续介绍。 在我所看到的所有示例中,始终都是这样的: 我们在子句中这样使用它: 是否可以创建一个像左侧和右侧一样使用的运算符? 在这种情况下: 谢谢你的帮助。 编辑:我知道它可以与PostgreSQL,但没有找到Oracle http://www.postgresql.org/docs/current/stat

  • 我正在开发(NASM GCC针对ELF64)一个PoC,它使用一个spectre小工具来测量访问一组缓存行(刷新重载)的时间。 如何制作可靠的幽灵小工具? 我相信我理解刷新重装技术背后的理论,然而在实践中,我鄙视一些噪音,我无法产生一个工作的概念验证。 由于我使用的是时间戳计数器,并且负载非常规则,因此我使用此脚本来禁用预取器,涡轮增压并修复/稳定CPU频率: 我有一个连续的缓冲区,在4KiB上对

  • 问题内容: 我想为工具提示创建一个自定义CSS类,该类将包裹长度超过25-30的字符串。通常这样长的文本不适合tootltip文本区域。 而且是否有使用[工具提示ui.bootstrap.tooltip)进行此操作?就像使用自定义CSS类来获取所需的输出。 这是简单的CSS工具提示 这是相同的代码片段: 问题答案: CSS解决方案 对于眼前的问题有一个非常简单的解决方案。我基本上添加的是以下CSS