创建具有不同样式的大量文本 - JavaFX FXML

2023-12-10

在我的 JavaFx 应用程序的 fxml 类中,我想使用最少的组件添加大量文本(而不是每行添加多个标签)。我还想在同一组件中创建不同样式的文本。我应该使用什么组件(例如 TextArea)以及如何在其中创建多种样式(使用 css)。


Use a TextFlow并添加Text到它。您可以使用 css 为各个文本组件设置不同的样式。

完整示例:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;

public class TextFlowExample extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        Text text1 = new Text("First Text\n");
        text1.setStyle("-fx-font-size: 20; -fx-fill: darkred;");
        Text text2 = new Text("\nSecond Text");
        text2.setStyle("-fx-font-size: 30; -fx-fill: goldenrod;");
        TextFlow textFlow = new TextFlow(text1, text2);
        primaryStage.setScene(new Scene(textFlow, 200, 200));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Output

enter image description here

等效的 FXML

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.*?>
<?import java.lang.*?>
<?import javafx.scene.text.*?>


<TextFlow lineSpacing="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" textAlignment="CENTER" xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Text strokeType="OUTSIDE" strokeWidth="0.0" style="-fx-font-size: 20; -fx-fill: darkred;" text="&#10;&#10;First Text" />
      <Text strokeType="OUTSIDE" strokeWidth="0.0" style="-fx-font-size: 30; -fx-fill: goldenrod;" text="&#10;&#10;Second Text" />
   </children>
</TextFlow>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建具有不同样式的大量文本 - JavaFX FXML 的相关文章

随机推荐

  • 添加一个按钮来查看

    我正在绘制一个图表 然后为输入数据添加一些按钮 标签 文本框 但主布局上的按钮没有显示 如何向视图添加按钮 因为我在视图上使用画布绘制图形 这是绘制画布类 public class DrawCross extends View Paint
  • 在java TailListener中,如何避免重复的日志消息

    我的代码如下 public static void main String args TODO code application logic here File pcounter log new File c development tem
  • 如何在 PyCharm 中禁用此示例程序?

    如何避免每次在 PyCharm 中创建新项目时都出现此问题 可以在以下位置禁用示例欢迎脚本的创建File gt New Project通过取消选中该选项来进行对话Create a main py welcome script与副标题 创建一
  • 内联方法体中的 invokevirtual 的意外指令和参数

    我按照 3 2 6内联方法 中的示例代码进行操作http asm ow2 org current asm transformations pdf 将 MethodNode 内联到调用站点 我的问题是 内联后生成的字节码中显示了一些意外的指令
  • 在 Excel VBA 中查找给定行号后的第一个空行

    我需要find the 第一个空行号在给定的行号之后 请检查下面的图片 例如 假设我当前的行号是 6 那么我的输出应该是 10 像这样的东西吗 function FindFirstEmpty i as long while cells i
  • UML 类关系

    我想确认在识别常见的 UML 类关系时我是否走在正确的轨道上 例如 以下关系是 1stackoverflow 成员和他 她的 stackoverflow 用户帐户被分类为组合关系还是聚合关系 起初我以为这是一个协会 因为该成员 有一个 帐户
  • 在可为空的 DateTime 对象上使用 ToShortDateString() 方法会出现一些问题,为什么?

    我有以下问题 在课堂上我声明 vulnerabilityDetailsTable AddCell new PdfPCell new Phrase currentVuln Published ToString fontNormale Bord
  • ggplot 中的绘制函数 - 参数列表

    函数绘图的简单示例 p lt ggplot data data frame x 0 mapping aes x x p stat function fun function x x 2 1 2 是否可以在 ggplot 的绘图代码中添加参数
  • 导出具有不同层次结构的 haskell 模块

    在 Haskell 中 模块名称和包含该模块的文件名必须相同 问题不仅是文件名 还包括所有路径 因此您必须 据我所知 创建一个与模块层次结构匹配的目录结构 这有点烦人 例如 假设我正在模块 M 中编写数据类型 D 我认为该模块应该位于Dat
  • 如何监听 ListView 中的滚动?

    ListView似乎不支持Scroll事件 每当列表滚动时我需要调用一个函数 我该怎么办 为什么列表滚动时需要调用函数 如果您在滚动时更改项目 我建议将列表视图设置为虚拟 或者您可以覆盖列表视图并执行以下操作 public class Te
  • 将 Expression> 转换为 Expression>

    我有以下类型的表达式Expression
  • Heroku 移动区域

    一段时间以来 我一直在尝试将我的应用程序迁移到新区域 这是业余爱好计划 我不想创建一个具有相同区域的新计划并手动移动所有内容 继docs 我达到了这一步 heroku fork from fapp to sapp region eu Get
  • webapi,如何使用自定义模型绑定程序从 POST/PUT 操作读取文件

    我有以下反应组件 显然它工作正常 import React Component from react import Row Col from antd import PageHeader from components utility pa
  • Android通过蓝牙进行语音识别

    我在活动中使用语音识别 我刚刚意识到 如果我连接了耳机 识别器仍然只能通过手机麦克风进行监听 有什么办法可以让它通过耳机收听吗 我确实注意到了这一点 http developer android com reference android
  • 如何在 Odoo 控制器中获取 JSON 数据?

    我正在尝试将一些 JSON 数据发送到 Odoo 控制器 但是当我发送请求时 我总是收到 404 作为响应 这是我的控制器的代码 import openerp http as http import logging logger loggi
  • JSON.h:尝试导入 JSON 框架时找不到文件

    当我构建时 我得到了这个错误 JSON h File not found 明显的假设让我认为 JSON h 文件不在导入到我的项目中的框架文件夹中 是的 它不存在该名词 但有一个名为SBJson h 我已关注这个分步教程 around 从项
  • 如何从 Subversion 存储库中删除意外放入的大文件 (4GB)?

    好吧 这个文件被错误地放入存储库中 并被删除并添加到忽略列表中 然而 因为它once存在 我的存储库现在大小 gt 4GB 并且某些 SVN 功能需要数年时间才能完成 我将不胜感激任何帮助和提示 如果重要的话我用的是XP 如何从存储库的历史
  • DuplicateHandle(),在第一个或第二个进程中使用?

    Windows API DuplicateHandle http msdn microsoft com en us library ms724251 VS 85 aspx需要复制对象句柄以及原始进程和要在其中使用复制句柄的其他进程的句柄 我
  • 如何使用flask创建进度条? [复制]

    这个问题在这里已经有答案了 只是想在我的 html 页面中插入一个进度条 它应该从我的 app py 中的 for 加载 这就是我到目前为止所做的 app py from flask import Flask render template
  • 创建具有不同样式的大量文本 - JavaFX FXML

    在我的 JavaFx 应用程序的 fxml 类中 我想使用最少的组件添加大量文本 而不是每行添加多个标签 我还想在同一组件中创建不同样式的文本 我应该使用什么组件 例如 TextArea 以及如何在其中创建多种样式 使用 css Use a