Мне нужен реальный предпочтительный размер (результат от детей) панели, но я получаю только -1. Есть ли возможность это узнать?
Хорошо, вот пример кода: вывод -1.0, 0.0, -1.0, -1.0, но очевидно, что панель с кнопкой имеет «предпочтительный» размер!? Только новый поток имеет в качестве вывода «реальный» размер панели, но не предпочтительный, потому что, если я изменю размер окна за 3 секунды, он покажет «реальный» размер, а не предпочтительный размер начала...
public class ButtonTest extends Application
{
public static void main(String [] a)
{
Application.launch(a);
}
@Override
public void start(Stage stage) throws Exception
{
BorderPane root = new BorderPane();
StackPane pane = new StackPane();
Button b = new Button("Testbutton");
pane.getChildren().add(b);
pane.setStyle("-fx-background-color: red;");
System.out.println(pane.getPrefWidth());
System.out.println(pane.getWidth());
System.out.println(pane.getMinWidth());
System.out.println(pane.getMaxWidth());
root.setCenter(pane);
Scene scene = new Scene(root);
Thread t = new Thread(new Runnable()
{
@Override
public void run()
{
try
{
Thread.sleep(3000);
} catch (InterruptedException e)
{
// TODO: Handle Exception
e.printStackTrace();
}
System.out.println(pane.getPrefWidth());
System.out.println(pane.getWidth());
System.out.println(pane.getMinWidth());
System.out.println(pane.getMaxWidth());
}
});
t.setDaemon(true);
t.start();
}
}
setPreferredSize
- person R2B2   schedule 31.08.2014