在弹出窗口中显示用户输入Java

如何解决在弹出窗口中显示用户输入Java

我的程序接受用户输入并将其打印出来。我所做的是从 textFields 中获取文本并将它们放入 toString() 方法,然后将它们打印到弹出框中。我的问题是弹出框中的输出不是我想要的。程序开始吐出放在文本字段中的原始字符串和紧随其后的一堆随机文本(例如一堆文本及其位置的规范等)我不确定为什么会发生这种情况,常规字符串或文本工作正常,但为什么检索到的文本会出现这种奇怪的显示

public class Main extends Application {

    private TextField startDate;
    private Text start;
    private Text end;
    private TextField endDate;
    private Button count;



    @Override
    public void start(Stage primaryStage) {

        start = new Text("Start Date: ");
        end = new Text("End Date: ");

        start.setFont(Font.font("Arial"));
        end.setFont(Font.font("Arial"));

        startDate = new TextField("1/1/2000");
        endDate = new TextField("12/06/2020");

        startDate.setFont(Font.font("Arial"));
        endDate.setFont(Font.font("Arial"));

        count = new Button("Count");
        count.setFont(Font.font("Arial"));

        ButtonEvent ButtonEvent = new ButtonEvent();
        count.setonAction(ButtonEvent);

        HBox startLine = new HBox(10);
        startLine.getChildren().addAll(start,startDate);
        startLine.setAlignment(Pos.CENTER);


        HBox endLine = new HBox(10);
        endLine.getChildren().addAll(end,endDate);
        endLine.setAlignment(Pos.CENTER);

        HBox button = new HBox();
        button.getChildren().add(count);
        button.setAlignment(Pos.CENTER);


        VBox vBox = new VBox(10);
        vBox.getChildren().addAll(startLine,endLine,button);
        vBox.setAlignment(Pos.CENTER);


        Pane root = new Pane();

        root.getChildren().addAll(vBox);

        Scene scene = new Scene(root,250,130);
        primaryStage.setTitle("Date Counter");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    private class ButtonEvent implements EventHandler<ActionEvent>{

        private Text startInput;
        private Text endInput;

        @Override
        public void handle(ActionEvent event) {

            startInput = new Text();
            endInput = new Text();

            startInput.setText(startDate.getText());
            String startDateInput = startInput.toString();

            endInput.setText(endDate.getText());
            String endDateInput = endDate.toString();

            Text test1 = new Text(startDateInput);
            test1.setFont(Font.font("Arial"));
            Text test2 = new Text(endDateInput);
            test2.setFont(Font.font("Arial"));

            Stage msg = new Stage();
            msg.initModality(Modality.APPLICATION_MODAL);
            VBox dialogVBox = new VBox(20);

            dialogVBox.getChildren().addAll(test1,test2);

            Scene dialogScene = new Scene(dialogVBox,300,200);
            msg.setScene(dialogScene);
            msg.show();
        }
    }

    public static void main(String[] args) {

        Application.launch(args);
    }

}

解决方法

您需要在 getText 对象上使用 toString 方法而不是 Text

https://docs.oracle.com/javase/8/javafx/api/javafx/scene/text/Text.html#getText--

,

我认为您想将 toString() 更改为 getText():

代替

startInput.setText(startDate.getText());
String startDateInput = startInput.toString();

endInput.setText(endDate.getText());
String endDateInput = endDate.toString();

startInput.setText(startDate.getText());
String startDateInput = startInput.getText();

endInput.setText(endDate.getText());
String endDateInput = endDate.getText();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?