Donc Im essayant d'avoir la bordure intitulée autour de mon GridPane et Im ayant le problème avec la frontière étant sur le titre supérieur. Aussi je me demande quel containeur sera le meilleur dans mon problème. GridPane semble problématique ici, un moyen plus facile de le faire?GridPane avec la bordure de titre
Résultat courant: https://i.imgur.com/XAwhHQB.png
public void start(Stage primaryStage) {
try {
primaryStage.setTitle("GridPane");
BorderPane root = new BorderPane();
Scene scene = new Scene(root, 300, 210);
GridPane grd =new GridPane();
ColumnConstraints column1width = new ColumnConstraints(50);
ColumnConstraints column2width = new ColumnConstraints(70);
ColumnConstraints column3width = new ColumnConstraints(70);
RowConstraints row1Height = new RowConstraints(30);
grd.getColumnConstraints().addAll(column1width, column2width, column3width);
grd.getRowConstraints().add(row1Height);
Label source = new Label("Source");
Label report = new Label("Report");
TextField text1 = new TextField();
TextField text2 = new TextField("report.txt");
Button browse1 = new Button("Browse...");
Button browse2 = new Button("Browse...");
grd.setVgap(10);
grd.setHgap(10);
grd.setPadding(new Insets(10, 10, 10, 10));
text1.setPrefSize(80, 20);
text2.setPrefSize(80, 20);
browse1.setPrefSize(80, 20);
browse2.setPrefSize(80, 20);
Label textIO = new Label("Text IO zone");
textIO.getStyleClass().add("title");
textIO.setPadding(new Insets(-40, -20, 0, 0));
textIO.setPrefWidth(120);
grd.add(textIO, 0, 0);
grd.add(source, 0, 0);
grd.add(text1, 1, 0);
grd.add(browse1, 2, 0);
grd.add(report, 0, 1);
grd.add(text2, 1, 1);
grd.add(browse2, 2, 1);
grd.getStyleClass().add("border");
grd.prefHeightProperty().bind(root.heightProperty());
root.getStyleClass().add("color");
root.setLeft(grd);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setMinHeight(250);
primaryStage.setMinWidth(410);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
et styles CSS /* JavaFX CSS - Laissez ce commentaire jusqu'à ce que vous avez au moins créer une règle qui utilise -fx-Propriété */
.title {
-fx-background-color: aliceblue;
-fx-translate-y: -5;
-fx-content-display: bottom;
}
.border {
-fx-border-insets: 5;
-fx-border-color: black;
}
.color{
-fx-background-color: aliceblue;
}
Il est pas très clair ce que vous voulez ressembler, il est donc difficile de vous dire où commencer. – MMAdams
Peut-être 'TitledPane', pour [exemple] (https://stackoverflow.com/a/31909942/230513)? – trashgod
https://stackoverflow.com/questions/14860960/groupbox-titledborder-in-javafx-2 – Sedrick