问题标签 [textflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JavaFX TextFlow - 空文本节点不显示为空(从相邻文本中窃取字符)
这里的问题是中心Text
(蓝色)应该是空的,但由于某种原因不是。该窗口只是一个非常简单的 JavaFX Application
。启动方法如下所示:
TextProgress
是一个自定义类,基本上是一个TextFlow
包含三个Text
节点的类。三者的内容Texts
是:“Hello”、“”(空)、“World”。问题是,正如您在图像中看到的Text
那样,中间的“偷”了右边的一个字符。
在展示 的代码之前TextProgress
,让我列出一些我在玩这个的过程中发现的一些东西,以使代码易于理解。
- 整个代码只是为了显示问题,原始应用程序基本上是显示手动复制文本的进度。左边
Text
包含所有已经输入的单词,中间Text
是当前要输入的单词,右边Text
是尚未输入的文本。 - 此外,中心
Text
再次被拆分为Text
用于当前单词的已键入字符和未键入字符的 a。在这个例子中,“Hello”是一个已经输入的单词,emptyText
是当前单词的输入字符,而“World”是当前单词的未输入字符。(由于我们在此示例中没有输入任何内容,因此Text
省略了另一个。) - 我没有省略“Hello”的原因是只有
Text
在中心前面有一个时才会出现问题Text
(不管是否为空)。 - 防止该问题的另一种方法是将
Texts
当前单词的两个包装在另一个中TextFlow
。(Text, TextFlow[Text,Text], Text)
. 虽然这似乎解决了问题,但它导致了不同的问题。在键入文本并因此更改 的内容时Texts
,当前正在键入的行的自动换行会不时更改,例如,在键入时将长单词推入下一行,然后在下一个单词上返回再次。请注意,即使 all 的总长度Texts
始终保持不变,也会发生这种情况。这可能与这个问题的问题有关? - 不同之间的唯一区别
Texts
是颜色。关于上面提到的另一个问题,这是否解释了换行的变化? - 该问题仅发生在当前单词的第一个字符上。一旦中心
Text
(蓝色)不再为空,一切都如预期的那样。 - 我确保空
Text
的实际上是空的 - 我在显示窗口之前和之后
BoundingBox
为中心添加了一些打印,这里的宽度属性之前是 0,之后是 ~28。Text
- 如果
Texts
当前单词的两个包裹在另一个中TextFlow
,则此处的宽度属性从 0 变为 -1。有没有办法在Text
没有额外的情况下将空的宽度设置为 -1TextFlow
?
(不确定是只包括TextProgress
这里的班级还是Application
整个班级,因为整个班级都很小。)
我很感激关于这里发生了什么的任何线索。同样,这里的主要问题是如何阻止中心Text
显示相邻的某些字符Text
。
javafx-8 - 如何使用 FXML 中的 TextFlow?
交叉发布:
• https://community.oracle.com/message/13853226#13853226
• http://www.coderanch.com/t/666101/JavaFX/java/TextFlow-FXML#3105251
我试图在应用程序执行期间(不是在启动时)在控制器中使用来自 FXML 的 TextFlow,但没有显示文本。
我努力了:
并且:
其中文本是:
我在这两种情况下 TextFlow 都没有显示任何内容。
是否有另一个使用 FXML JavaFX 应用程序与富文本一起使用的容器?
当然,如果我在非 FXML JavaFX 应用程序中尝试这两种情况,它们都适用。
更新:
FXML 中的 TextFlow 看起来像这样
FXML
控制器
主班
javafx-8 - 如何推断 TextFlow 中的分页符?
我正在尝试在我的应用程序中创建一个记事本屏幕。一旦创建了笔记,它们就会被锁定并且无法编辑,但是可以将新页面添加到笔记中。
我认为使用 TextFlow 将是一个很好的控制。我想做的是以下几点:
我尝试过这种方式:
这几乎为我提供了我想要的东西,除了分隔符只是一条细线。我希望这条线穿过整个 TextFlow,但我不确定如何去做。
谢谢。
text - 文本对齐在 TextFlow 上不起作用
我是 javafx 的新手。
我正在尝试构建一个聊天面板显示消息的信使。我想对齐消息,就像我自己的消息在左侧,其他消息在右侧。
为了显示消息,我在添加文本的地方使用 TextFlow。但是对齐不起作用。
但是对齐不起作用。两个文本都在左边。我该怎么办?
java - 从另一个类 JavaFx 更新 TextFlow
我在这里使用我的 JavaFx 应用程序。
我有两个班级:
我在两个不同的线程中开始这些课程。因为服务器是可阻塞的。
- 我的 UI 类(称为 Main(我知道我需要更改它))。
- 一个服务器类(称为 Serveur ))。
在我的服务器类中,当我使用 ServerSocket 接收字节时。
我需要在我的 UI 类中更新一个 TextFlow(称为 flowMessafe):使用 flowMessage.getChildren().add(); 我可以在我的 UI 类中毫无问题地更新这个 TextFlow。但我的服务器类我不能。
编辑:我尝试了所有的东西,但我认为我发现了一个大问题。我更新了我的 javafx 应用程序的错误实例。我用当前代码更改代码
他是我的服务器代码的一部分
当我收到一条消息时,我会转到此功能:
而在我的主要我只有空的构造函数
在我的 UI 类中,我有这个来创建我的应用程序:
而且我不知道如何在我的服务器类中更新我的 UI TextFlow。
我看到了不同的东西,比如中介者模式,我尝试了这个,但它没有用(也许我做错了什么)。
我从这个类开始我的应用程序:
感谢您的帮助。
javafx - Tablecell 内的文本流:不正确的单元格高度
我不会将格式化文本放在 JavaFX 表中。首先,我试图嵌入一个 Webview,但我遇到了单元格高度问题。这似乎是 JavafX 中的一项任务功能(请参阅:Java FX: TableView - display simple HTML)。
根据此处的建议,我尝试嵌入 TextFlow。然而,TabelCell 的大小再次不正确。我希望行的高度一样大,单元格的内容适合其中。更改列宽应导致更改行高。
这是我的最小运行示例。