Estoy tratando de hacer un componente personalizado para javafx, por lo que hago que mi clase amplíe javafx.scene.control.Control y en el constructor extrae su contenido.JavaFX: ¿Cómo hacer que mi componente personalizado use todo el espacio disponible desde el diseño principal?
Mis dudas son: ¿cómo hago que "crezca" para llenar todo el espacio disponible en su diseño principal? Al igual que cuando coloco un TextArea lugar ...
Este es un ejemplo de lo que estoy haciendo encoger:
@Override
public void start(Stage primarystage) throws Exception {
BorderPane bpane = new BorderPane();
mainscene = new Scene(bpane, 800, 600);
((BorderPane) this.mainscene.getRoot()).setCenter(t);
primarystage.setScene(mainscene);
primarystage.show();
}
En este ejemplo, el TextArea obtendrá todo el espacio del diseño proporciona para ello. ¡Quiero que mi componente haga lo mismo!
Todo lo que ya he intentado hacer: - Cambiar las propiedades setMaxWidth/Height, setPrefWidth/Height, setMinWidth/Height; (cuando configuro MinValues, siempre usa estos valores para dibujar pero no actualiza el valor de "ancho") - Intenté usar Double.MAX_VALUE para forzar un tamaño mayor que los privides de diseño; Todo no funcionó :(Debo estar confundiendo alguna manera ... - lloré un poco demasiado, pero incluso esto hacen nada de trabajo = '(
Tal vez es una pista, puse un oyente como esto más adelante, y cada vez que cambio el tamaño de mi solicitud/etapa se actualiza el TextArea. Pero cuando agrego este oyente hacer mi componente nunca get update ...
TextArea t = new TextArea("teste");
t.widthProperty().addListener(new ChangeListener() {
public void changed(ObservableValue observable, Object oldValue, Object newValue) {
System.out.println(oldValue + "|" + newValue);
}
});
Probablemente estoy pasando por algunas propiedades u olvidar algo, Don 'Lo sé ...
Ya probé Google, pero parece que la documentación de JavaFX es demasiado pequeña y superfici otros, y muchos de ellos se basa en JavaFX script ...
también acepta cualquier tutorial de ellos mejor el ofrecido por Oracle ...
Gracias de antemano de cualquier ayuda ... cosa que escribió a mucho ... = o
Con AnchorPane es necesario utilizar anclajes (por ejemplo: 'AnchorPane.setBottomAnchor (yourNode, recuadro)'). – assylias
StackPane funciona para mí en el caso de un componente personalizado. Muchas gracias. – ruX