J'essaie de passer à JavaFX de Swing. Mais je ne peux pas trouver comment obtenir la largeur et la hauteur d'un nœud.Obtenir la dimension d'un nœud - JavaFX 2
Donc, voici un peu de code.
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());
Les résultats sont les suivants:
-1.0
0.0
-1.0
-1.0
La même chose Swing est:
JComponent.getPreferredSize().width
JComponent.getPreferredSize().height
Merci
Après édition:
Pourquoi cela ne fonctionne pas pour moi?
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());
}
}
J'ai effectué mon premier poste parce que ça ne marche toujours pas pour moi. Je ne sais pas comment répondre à mon post sans l'éditer car c'est mon premier post ici. Merci pour ton aide. –
pour la même raison. Vous appelez 'label.getWidth()' avant d'être placé sur scène. J'ai ajouté un exemple de code corrigé. –
Oui, j'ai compris complètement la logique derrière cela. Merci Sergey. –