【发布时间】:2017-12-01 02:08:16
【问题描述】:
我无法让我的程序从 textField 获取用户输入并将其显示在 textArea 中。我正在制作的程序是一个堆栈/队列程序。它有一个文本字段,用户可以在其中输入一个数字。然后是一个按钮,它接受输入并将其作为堆栈(FILO)显示在 textArea 中。
编辑 1: 我现在可以将用户输入移动到 textArea 中,但是,每当我添加第二个输入时,它只会用新输入替换旧输入,而不是显示列表。我应该使用 toString 方法来显示整个列表?如果需要的话,我需要把 toString 方法放在哪里?
TLDR,如何从 textField 获取输入并将其显示在 textArea 中?
这是我的主要课程。
TextField text = new TextField();
TextArea textArea = new TextArea("Text Area");
public class StackQueue extends Application
{
@Override
public void start(Stage stage) throws Exception
{
Stack myStack = new Stack();
Button btAdd = new Button("Add");
Button btDel = new Button("Delete");
Button btClear = new Button("Clear");
BorderPane bpane = new BorderPane();
text.setPrefWidth(50);
text.setAlignment(Pos.CENTER_LEFT);
text.setText("Label");
text.clear();
textArea.setPrefColumnCount(1);
textArea.setPrefRowCount(10);
textArea.clear();
HBox hBox = new HBox();
hBox.getChildren().addAll(btAdd, btDel, btClear);
bpane.setTop(hBox);
bpane.setCenter(text);
bpane.setBottom(textArea);
Scene scene = new Scene(bpane, 500, 250);
stage.setTitle("Stack Example");
stage.setScene(scene);
stage.show();
EventHandler<ActionEvent> addEvent = event -> add();
EventHandler<ActionEvent> delEvent = event -> del();
btAdd.setOnAction(addEvent);
btDel.setOnAction(delEvent);
public void add()
{
textArea.setText(text.getText(x));
}
public void del()
{
}
}
public static void main(String[] args)
{
launch(args);
}
}
这是 Stack 类。
public class Stack<E>
{
public String status = "String";
public ArrayList<E> arrayList;
public Stack()
{
arrayList = new ArrayList(10);
}
public void add(String x)
{
arrayList.add(0, (E) x);
}
//public String del
{
}
public void Clear()
{
}
}
【问题讨论】:
-
你遇到了什么麻烦?
-
我正在尝试让用户输入显示在 textArea 中。 textArea 是一个数组列表。
-
欢迎来到 Stack Overflow!请拿起tour,环顾四周,并通读help center,尤其是How do I ask a good question? 和What topics can I ask about here?。从第二个链接:“请求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作的摘要,以及您在解决问题时遇到的困难的描述。”
-
text.getText(x)TextField 没有类似这个签名的方法! -
我正在尝试让用户输入显示在 textArea 中。 好的,那么您遇到了什么问题? textArea 是一个数组列表。 等等,什么??