我正在开发一个textEditor项目,并希望创建一个TextInputDialog类型的窗口提示符,它可以接受来自TextArea的输入文本(我希望它是TextArea而不是TextField)并返回输入字符串 . 我也在我创建的GUI中有一个按钮 . 按下按钮,必须返回TextArea中的字符串,并且必须关闭gui窗口 .
public String CommentWindow(String selectedText){
Stage commentWindow = new Stage();
VBox box = new VBox(20);
TextArea commentbox = new TextArea();
Label commentlabel = new Label("Enter the annotation for " +
selectedText + " :");
Button addComment = new Button("Add annotation");
box.getChildren().addAll(commentlabel,commentbox,addComment);
commentWindow.setScene(new Scene(box,350,250));
commentWindow.show();
String comment = commentbox.getText();
return comment;
}
以下代码的问题是,我不知道如何确保在按下按钮后返回TextArea中的字符串,并且还需要关闭窗口 . 我是JavaFx的新手,所以请原谅我的代码风格 .
这是GUI的图像:Comment Window
编辑1:我不想使用JavaFx的任何Dialog或Alert功能 . 我基本上是在尝试自己构建类似的东西 . 我只想要我正在构建的gui窗口返回文本区域中输入的文本字符串,并在按下按钮后关闭窗口 . 有人可以建议我如何编写代码吗?
1 回答
你有几个选择,但我会介绍其中一个 . 如果您只想在
TextInputDialog
而不是TextField
中使用TextArea
,则可以创建自己的类来为您提供 . 通过查看TextInputDialog
的源代码,您可以看到它非常基本 .我在这里做的基本上是重复该类,而将
TextField
改为TextArea
代替:TextFieldInputDialog.java
现在,您可以将该类放入项目中,并像使用其他任何
TextInputDialog
一样使用它 .这是一个使用它的简单应用程序:
肯定有进一步定制的空间,但也许这会引导您朝着正确的方向前进 .