我嘗試在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