Как я могу установить ширину TextField
в JavaFX?
TextField userTextField = new TextField();
Я пробовал это:
TextField userTextField = new TextField();
userTextField.setPrefWidth(80);
Но я не вижу никаких изменений.
Как я могу установить ширину TextField
в JavaFX?
TextField userTextField = new TextField();
Я пробовал это:
TextField userTextField = new TextField();
userTextField.setPrefWidth(80);
Но я не вижу никаких изменений.
Работает довольно хорошо:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
public class TextFieldWidthApp extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
TextField userTextField = new TextField();
userTextField.setPrefWidth(800);
primaryStage.setScene(new Scene(userTextField));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Просто установите эти методы после создания TextField:
TextField myTf = new TextField();
myTf.setPrefWidth(80);
myTf.setMaxWidth(80);
TextField tf = new TextField(); tf.setMaxWidth(80);
без необходимости устанавливать предпочтительную ширину
- person rodude123; 20.06.2019
У меня была та же проблема (вот как я попал на эту страницу), и я исправил ее, поместив текстовое поле в HBox. Проблема может возникнуть, если текстовое поле просто помещено в один родительский компонент, где родственные элементы являются менеджерами компоновки. Например, поместив его в GridLayout рядом с VBox или HBox или дочерним элементом GridLayout. Вот код, который это сделал;
HBox hbForTextField = new HBox();
TextField sample = new TextField();
sample.setAlignment(Pos.CENTER);//Align text to center
sample.setPrefWidth(120);//Set width
//Add the texfield to the HBox
hbForTextField.getChildren().addAll(generatedPassword);
Затем вы можете добавить HBox в корневой или другой родительский менеджер компоновки.
setMinWidth/setMaxWidth
- person Sergey Grinev   schedule 08.11.2013