对于我正在开发的应用程序,我需要用户输入多行数据.确切的数字是可变的,用户也应该能够自己添加行.我现在已经使用JavaFX Dialog了,除了添加行之外,Dialog没有相应调整大小.有没有办法让Dialog在添加行时自动调整大小?
下面是一个演示应用程序,其中包含一个示例测试应用程序,其中的Dialog类似于我想要的.
package test_dialog;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.DialogPane;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Test_Dialog extends Application {
class ScalableDialog extends Dialog<String> {
int nrRows = 2;
public ScalableDialog() {
// We are resizable
setResizable(true);
// Set up the grid pane.
GridPane grid = new GridPane();
grid.setHgap(10);
grid.setVgap(5);
grid.setMaxWidth(Double.MAX_VALUE);
grid.setAlignment(Pos.CENTER_LEFT);
// Set up dialog pane
DialogPane dialogPane = getDialogPane();
dialogPane.setHeaderText(null);
dialogPane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);
dialogPane.setContent(grid); …Run Code Online (Sandbox Code Playgroud)