5
我想從Swing跳轉到JavaFX。但我找不到如何獲得節點的寬度和高度。獲取節點的維度 - JavaFX 2
所以,這裏有一些代碼。
Label label = new Label();
label.setText("Hello");
label.setFont(new Font(32));
System.out.println(label.getPrefWidth());
System.out.println(label.getWidth());
System.out.println(label.getMinWidth());
System.out.println(label.getMaxWidth());
的結果是:
-1.0
0.0
-1.0
-1.0
在Swing同樣的事情是:
JComponent.getPreferredSize().width
JComponent.getPreferredSize().height
謝謝
編輯後:
爲什麼這不適合我?
public class Dimensions extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
primaryStage.setScene(new Scene(new MyPanel(), 500, 500));
primaryStage.centerOnScreen();
primaryStage.setResizable(false);
primaryStage.show();
}
}
public class MyPanel extends Pane {
public MyPanel() {
Label label = new Label();
label.setText("Hello");
label.setFont(new Font(32));
getChildren().add(label);
label.relocate(150, 150);
System.out.println(label.getWidth());
}
}
我編輯我的第一次因爲它仍然不適合我。我不知道如何在沒有編輯的情況下再次回覆我的文章,因爲這是我的第一篇文章。感謝您的幫助。 –
出於同樣的原因。您在放置到場景之前調用'label.getWidth()'。我已經添加了更正的代碼示例。 –
是的,我完全理解這背後的邏輯。謝謝謝爾蓋。 –