-1

このダイアログのような JavaFX の例を作成したいと考えています。

ここに画像の説明を入力

私はこのコードを作成しました:

public void aboutDialogPanel()
    {

        final Stage aboutDialog = new Stage();
        aboutDialog.initModality(Modality.WINDOW_MODAL);

        HBox phbox = new HBox();
        phbox.setAlignment(Pos.CENTER);
        // Image
        ImageView iv = new ImageView(getClass().getResource("/images/splash.png").toExternalForm());
        phbox.getChildren().add(iv);

        HBox hbox = new HBox();
        // Text Area
        TextArea dataPane = new TextArea();
        dataPane.setEditable(false);
        dataPane.setLayoutX(160);
        dataPane.setLayoutY(160);
        hbox.setAlignment(Pos.CENTER);
        hbox.setSpacing(1);
        hbox.setPadding(new Insets(10, 0, 10, 0));
        hbox.getChildren().add(dataPane);

        HBox bhbox = new HBox();
        // Close Button
        Button closeButton = new Button("Close");

        closeButton.setOnAction(new EventHandler<ActionEvent>()
        {
            @Override
            public void handle(ActionEvent arg0)
            {
                // Close the dialog when "Close" button is pressed
                aboutDialog.close();
            }
        });

        bhbox.setAlignment(Pos.CENTER);
        bhbox.setSpacing(10);
        bhbox.setPadding(new Insets(10, 10, 10, 10));
        bhbox.getChildren().add(closeButton);

        BorderPane borderpane = new BorderPane();
        borderpane.setTop(phbox);
        borderpane.setCenter(hbox);
        borderpane.setBottom(bhbox);

        // Configure dialog size and background color
        Scene aboutDialogScene = new Scene(borderpane, 600, 500, Color.WHITE);
        aboutDialog.setScene(aboutDialogScene);
        aboutDialog.show();
    }

しかし、写真のように同じ配置を再現することはできません。コードのレイアウトを修正する方法を教えてください。

アップデート

これは視覚的な結果です:

ここに画像の説明を入力

テキスト フィールドは常に左右に制限されています。

4

1 に答える 1

2

行を追加

dataPane.prefWidthProperty().bind(hbox.widthProperty());
于 2013-06-14T16:13:37.627 に答える