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

JavaFX2:单词换行在滚动窗格中不起作用

楚昀
2023-03-14

如果我将单词换行设置为标签,并将其放在任何布局中--除非我将标签放在滚动窗格中,否则单词换行很好。下面是一个例子:

@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("Test");
    BorderPane borderPane = new BorderPane();
    VBox myView = new VBox();
    Label label = new Label("Lorem ipsum dolor sit amet, consectetur adipisicing elit," +
            " sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim" +
            " ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip" +
            " ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate" +
            " velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat" +
            " cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum");
    label.setWrapText(true);
    myView.getChildren().addAll(label);

    ScrollPane scroll = new ScrollPane();
    scroll.setContent(myView);
    scroll.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);

    borderPane.setCenter(scroll);

    Scene scene = new Scene(borderPane, 300, 400);
    primaryStage.setResizable(false);
    primaryStage.setScene(scene);
    primaryStage.sizeToScene();
    primaryStage.show();
}

有什么方法可以使文字包装工作在滚动窗格?

共有1个答案

燕星鹏
2023-03-14

引用Javadoc:

public final void setWrapText(布尔值)

属性说明:

    label.setPrefSize(250, 500);
    scroll.setFitToWidth(true); 
Text text = new Text("Lorem ipsum dolor sit amet, consectetur adipisicing elit," +
            " sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim" +
            " ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip" +
            " ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate" +
            " velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat" +
            " cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum");

    text.setWrappingWidth(250);
 类似资料:
  • 基于此注释https://stackoverflow.com/a/29530135/1387524,我添加了一个ScrollPane,以便在画布移到可见区域之外时使用滚动。

  • 我希望能够向下滚动动态生成的电影列表。我尝试添加滚动窗格。 我在页面的开头有一个导航栏,中间有一个包含所有电影的jpanel。 您可以使用以下代码重新创建此示例: 我想做的是用我的鼠标滚轮向下滚动这个电影列表,而不看任何滚动条。它现在看起来应该和现在一模一样,但我希望能够向下滚动,看到所有的电影。 我不知道为什么它不起作用,这就是为什么我在这里问,希望有人能向我解释我做错了什么。

  • 问题我如何可以嵌入这个应用程序到SPlitPane,在左边将是另一个面板。 不幸的是,代码导致了错误的坐标,

  • 问题内容: 谁能告诉我为什么在IE8中不起作用? 谢谢 问题答案: 如果我没记错的话,Internet Explorer8确实支持该样式,但是样式元素必须具有layout

  • 应该修复头部,我不想要整体滚动条,所以我在主体标记中给出了, 我需要垂直滚动条在我的包装div。我怎么才能修好这个? HTML

  • 在我的网页移动视图中,我可以垂直和水平滚动,但这总是从左上角开始。现在,我想使用window将视口设置为我的自定义位置。滚动到或类似的东西。窗滚动似乎只适用于桌面浏览器。 知道我怎么解决吗?