簡體   English   中英

如何在文本字段中添加用戶輸入列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM