Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTextArea-setText()和append()在侦听器方法()中不起作用_Java_Swing_User Interface - Fatal编程技术网

Java JTextArea-setText()和append()在侦听器方法()中不起作用

Java JTextArea-setText()和append()在侦听器方法()中不起作用,java,swing,user-interface,Java,Swing,User Interface,正如标题所说,我在左侧有一个JList,在右侧有一个JTextArea 我在makeTextPanel()方法中为JList设置侦听器,如下所示: listSelectionModel = list.getSelectionModel(); listSelectionModel.addListSelectionListener(this); 其中,对操作事件调用的方法是: //This method is required by ListSelectionListener. public vo

正如标题所说,我在左侧有一个JList,在右侧有一个JTextArea

我在makeTextPanel()方法中为JList设置侦听器,如下所示:

listSelectionModel = list.getSelectionModel();
listSelectionModel.addListSelectionListener(this);
其中,对操作事件调用的方法是:

//This method is required by ListSelectionListener.
public void valueChanged(ListSelectionEvent e) {
    System.out.println("HEY");
    textArea.setText(null);
    textArea.setText("1: \n");
    textArea.append("2: \n");
    textArea.append("3: \n");
    textArea.append("4: \n");
    }
事件发生的原因是,在终端中,我可以看到“嘿”,但文本区域没有打印任何内容。如果在创建textarea后尝试在makeTextPanel()方法中打印textarea,则它将打印。怎么了?为什么它不在方法值更改的事件中打印?如果有人能看看我在这里遗漏了什么,我将不胜感激


完整代码:

它按照您的代码工作。您已在全局范围内声明了
textArea
JList
,因此这两个实例将仅保存您在创建
edit
选项卡时创建的最新实例。因此,如果您看到编辑选项卡,您的
textArea
将包含您在方法中设置的文本

您必须为所有选项卡保留
textArea
List
的不同实例,然后只有它才能产生所需的行为


希望这有帮助。

您的代码中有一个
错误。我无法编译它。编辑代码时,它是公共构造函数的名称。不过我还是不知道文本区出了什么问题