0
我試圖調整TextField
的大小,點擊了startBtnClick
,我似乎無法使其工作。基本上我想按單擊按鈕時縮小字段110
單位。在按鈕上調整TextField的大小點擊
在行動事件:
@FXML
protected void startBtnClick(){
double txtWidth = this.url.getWidth();
this.url.setPrefWidth(txtWidth - 110);
}
的XML:
<?xml version="1.0" encoding="UTF-8"?>
<AnchorPane fx:id="anchorPane" minHeight="200.0" minWidth="200.0" prefHeight="600.0" prefWidth="1200.0" styleClass="anchor-pane" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="phantom.FXMLDocumentController">
<children>
<Button id="beginSurfing" fx:id="quitSurfing" mnemonicParsing="false" onAction="#stopSurfing" prefHeight="29.0" prefWidth="93.00009999999747" text="Quit Surfing" visible="false" AnchorPane.rightAnchor="9.0" AnchorPane.topAnchor="8.0" />
<GridPane prefHeight="600.0" prefWidth="1200.0" style="" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="0" GridPane.rowIndex="0">
<children>
<TextField fx:id="url" disable="false" onAction="#urlGo" opacity="1.0" prefWidth="965.0" scaleZ="1.0" style="" translateZ="0.0" AnchorPane.leftAnchor="122.0" AnchorPane.rightAnchor="113.0" AnchorPane.topAnchor="9.0">
<stylesheets>
<URL value="@../CSS/textField.css" />
</stylesheets>
</TextField>
<Button id="beginSurfing" fx:id="startSurfing" mnemonicParsing="false" onAction="#beginSurfing" prefHeight="29.0" prefWidth="93.00009999999747" text="Start Surfing" AnchorPane.rightAnchor="12.0" AnchorPane.topAnchor="9.0" />
<Label fx:id="timer" alignment="CENTER" contentDisplay="CENTER" prefHeight="29.0" prefWidth="94.0" text="" textAlignment="CENTER" underline="false" AnchorPane.rightAnchor="11.0" AnchorPane.topAnchor="9.0">
<font>
<Font name="System Bold" size="20.0" />
</font>
</Label>
<Button id="beginSurfing" fx:id="nextAdBtn" mnemonicParsing="false" onAction="#nextAd" prefHeight="30.000099999997474" prefWidth="94.0" text="Next Ad" visible="false" AnchorPane.rightAnchor="12.0" AnchorPane.topAnchor="8.0" />
</children>
</AnchorPane>
<!--
The rest of the gird
Chopped off for readability
-->
</children>
</GridPane>
</children>
</AnchorPane>
我想'setPrefWidth'是不正確的方法。我會測試並回答 – diegoaguilar
不完全相關,但可能會給你線索:http://stackoverflow.com/questions/20304933/how-to-get-javafx-nodes-textarea-textfield-to-resize-correctly-when-user -drag –
您需要設置按鈕的佈局參數,而不僅僅是首選值。爲了效率和穩定性,Android可以(並經常)覆蓋您的首選值。 – zgc7009