[英]How do I add a list of user inputs into a textfield
基本上假設我的Java小程序上有兩個文本字段:[__________] [___________]
第一個文本字段接受用戶輸入,第二個文本框打印該用戶輸入以將其存儲為列表。 因此,如果用戶輸入了“貓”,“狗”,“青蛙”,則第二個文本字段應如下所示:[貓,狗,青蛙]。 當用戶鍵入單詞並單擊按鈕1時,應將單詞添加到第二個文本字段中。 下面的代碼是我嘗試過的,但是沒有任何反應:
textf = user input field
texty = output field
public void actionPerformed(ActionEvent e){
if (e.getSource() == b1 ){
x = textf.getText();
texty.add(x);
textf.setText(null);
}
這是Swing GUI嗎? 是那些JTextFields嗎?
您需要查看Java API,因為您使用了不合適的方法,在代碼中使用了add(...)
,如果您使用add方法使用的代碼甚至可以編譯,我會感到非常驚訝,因為add
方法用於將其他GUI組件添加到正在調用該方法的容器中,這不是您要嘗試執行的操作。
您正在嘗試添加文本,為此,您需要從第二個文本字段中獲取文本,使用getText()
使用String串聯(基本上使用+
運算符getText()
將新的String添加到此文本中,然后設置文本使用setText(...)
使用新的String替換第二個文本字段。
我本人將在JList或JTextArea中顯示累積的文本,而不是第二個JTextField。
因此,如果用戶輸入了“貓”,“狗”,“青蛙”,則第二個文本字段應如下所示:[貓,狗,青蛙]。
然后,您需要將文本插入到文本字段的文檔中:
因此,假設您使用如下代碼創建第二個JTextField:
JTextField textField2 = new JTextField("[]");
您需要在“]”之前插入文字。 因此,您可以將文本插入第二個文本字段的“文檔”中:
String text = textField1.getText() + ",";
Document doc = textField2.getDocument();
doc.insertString(text, doc.getLength() - 1, null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.