基本上假设我的java applet上有两个文本字段: [__________] [___________]
第一个文本字段接受用户输入,第二个文本框打印该用户输入以将其存储为列表。因此,如果用户输入“cat”然后“dog”,然后输入“frog”,则第二个文本字段应如下所示: [猫,狗,青蛙]。当用户键入单词并单击按钮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);
}
答案 0 :(得分:2)
这是一个Swing GUI吗?那些JTextFields?
您需要查看Java API,因为您在代码中使用了不恰当的方法add(...)
,并且如果您的代码我非常感到惊讶使用add方法甚至可以编译,因为add
方法用于将其他GUI组件添加到调用方法的容器中,而这不是您尝试的方法做。
您正在尝试附加文本,为此您需要从第二个文本字段中获取文本,使用getText()
使用字符串连接将新字符串添加到此文本中(基本上使用{ {1}}运算符,然后使用+
使用新字符串设置第二个文本字段的文本。
我自己,我在JList或JTextArea中显示累积的文本,而不是第二个JTextField。
答案 1 :(得分:1)
因此,如果用户输入“cat”然后输入“dog”,然后输入“frog”,则第二个文本字段应如下所示:[cat,dog,frog]。
然后您需要将文本插入文本字段的文档中:
因此,假设您使用以下代码创建第二个JTextField:
JTextField textField2 = new JTextField("[]");
您需要在“]”之前插入文字。因此,您可以将文本插入第二个文本字段的文档中:
String text = textField1.getText() + ",";
Document doc = textField2.getDocument();
doc.insertString(text, doc.getLength() - 1, null);