我尝试在JavaFX中构建计算器,并且我想在显示器上显示一定数量的数字时动态更改字体大小,以便它适合。Javafx文本字段textpaigment中断字体更改
这工作正如我希望它当我设置文本对齐到左侧。 但是,当我在右侧使用任何文本对齐方式时,它确实不起作用,它会出错。
更具体地讲,看看下面的图片:
这是启动时的大小默认:
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
有没有解决方法?下面是我的代码一些例子:
GUI.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="" />
Application.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;");
您的文本框不可编辑。没有看到你的keylistener很难说出什么。 –
我不认为可编辑的部分是原因,我的意思是它的工作时,对齐是在左侧。 另外我还没有实现,我第一次尝试了一个按钮,并得到了这些结果。我没有听到任何关于Mouseevent按钮的免除,但它运行的唯一代码是我在最后写的代码。 – user3327172