gpt4 book ai didi

Javafx Textfield 文本对齐会阻止字体更改

转载 作者:行者123 更新时间:2023-11-28 11:13:14 27 4
gpt4 key购买 nike

我尝试在 JavaFX 中构建一个计算器,我想在显示一定数量的数字时动态更改字体大小,以便它适合。

当我将文本对齐方式设置为左侧时,这会按照我想要的方式工作。但是,当我在右侧使用任何文本对齐时,这实际上不起作用,它会出错。

更具体的,看下面的图片:

这是启动时的默认大小:

http://www7.pic-upload.de/19.02.14/8xjsfv1awtl1.jpg

然后我改变字体大小:

http://www7.pic-upload.de/19.02.14/9518liqv4ebw.jpg

你可以看到对齐被破坏了....但有趣的是,当您单击文本字段时,它会自行修复并且看起来像这样:(由于声誉限制废话而没有链接)

www7.pic-upload.de/19.02.14/5e3ddqyt575o.jpg

有解决办法吗?以下是我的代码的一些示例:

图形界面.fxml

<TextField fx:id="display" alignment="BASELINE_RIGHT" cache="false" editable="false" layoutX="18.0" layoutY="17.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" onKeyPressed="#keylistener" prefHeight="54.0" prefWidth="206.0" promptText="" styleClass="textcustom, rand, backgroundfield" text="" />

应用程序.css

.background {
-fx-background-color: #4682B4;
}
.backgroundfield {
-fx-background-color: #F5F5F5;
}
.button {
-fx-background-color: #FFF5EE;
}
.textcustom{
-fx-font: 26px "Serif";
}
.rand{
-fx-border-style: solid;
-fx-border-color: black ;
-fx-border-width: 1px;
}

改变字体的Java代码:

display.setStyle("-fx-font: 18px Serif;");

最佳答案

这似乎是一个错误。解决方法是使用 javafx.scene.control.Label 而不是 TextField

关于Javafx Textfield 文本对齐会阻止字体更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21875734/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com