Java Swing:在方法之后将JTextArea设置为Null
我正在创建我的第一个GUI,我遇到了一个似乎无法克服的问题。按下按钮执行方法后,我想将JTextArea设置为“”或null。在按下按钮的那一分钟,执行一个方法,程序正常运行,但文本区域不为空。我在这段代码中得到一个“java.lang.NullPointerException”:Java Swing:在方法之后将JTextArea设置为Null,java,swing,jtextarea,Java,Swing,Jtextarea,我正在创建我的第一个GUI,我遇到了一个似乎无法克服的问题。按下按钮执行方法后,我想将JTextArea设置为“”或null。在按下按钮的那一分钟,执行一个方法,程序正常运行,但文本区域不为空。我在这段代码中得到一个“java.lang.NullPointerException”: JButton JInputFile = new JButton("Input network file"); JInputFile.addActionListener(new ActionListe
JButton JInputFile = new JButton("Input network file");
JInputFile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JFileChooser fc = new JFileChooser();
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
String fileName = file.getName();
network = new Network(fileName);
JTextAreaResult.append(null); //exception points to this line
}
}
});
JInputFile.setFont(new Font("Calibri", Font.PLAIN, 11));
JInputFile.setBounds(20, 56, 294, 20);
contentPane.add(JInputFile);
我可能没有提供足够的信息,所以请告诉我。什么可能会阻止我的JTextArea清空,我如何修复它?- 首先,它不是
而不是.append(null)
.setText(“”)代码>李>
- 另一方面,您的JTextAreaResult变量是否在您试图使用它的范围内为null
- 第三,变量名应该符合Java命名标准,并且应该以小写字母开头。这有助于其他人(我们!)更好地阅读和理解您的代码
- 此外,您似乎正在使用空布局并在组件上调用
。虽然对于新手来说,这似乎是创建复杂GUI的更好方法,但这是一种谬论,创建越多Swing GUI,您就越能学会尊重和使用布局管理器,并看到这些生物极大地帮助创建灵活、美观的复杂GUI(如果需要)setBounds(…)
- 首先,它不是
而不是.append(null)
.setText(“”)代码>李>
- 另一方面,您的JTextAreaResult变量是否在您试图使用它的范围内为null
- 第三,变量名应该符合Java命名标准,并且应该以小写字母开头。这有助于其他人(我们!)更好地阅读和理解您的代码
- 此外,您似乎正在使用空布局并在组件上调用
。虽然对于新手来说,这似乎是创建复杂GUI的更好方法,但这是一种谬论,创建越多Swing GUI,您就越能学会尊重和使用布局管理器,并看到这些生物极大地帮助创建灵活、美观的复杂GUI(如果需要)setBounds(…)
- 我想到两件事
您应该使用
,而不是使用setText
。Append的作用与它听起来的完全一样,它将文本追加到append
的底层JTextArea
文档的末尾,其中as
将用新值替换setText
是对nothing的引用。获取文档的内容
和/或
为JTextAreaResult
我想到了两件事 您应该使用null
,而不是使用setText
。Append的作用与它听起来的完全一样,它将文本追加到append
的底层JTextArea
是对空字符串对象的引用<另一方面,code>null文档的末尾,其中as
将用新值替换setText
是对nothing的引用。获取文档的内容 和/或
为JTextAreaResult
是对空字符串对象的引用<另一方面,code>nullnull
这些东西不是一回事<代码>“”“我想将JTextArea设置为”“或null。”
意味着程序试图遵循某个引用,但它是一个空引用 如果要清空文本字段,请使用NullPointerException
将文本设置为空字符串。不要将任何内容设置为“
null
这些东西不是一回事<代码>“”“我想将JTextArea设置为“”或null。”
意味着程序试图遵循某个引用,但它是一个空引用NullPointerException
如果要清空文本字段,请使用
将文本设置为空字符串。不要将任何东西设置为“
实际上,null
可以使用setText
,一直使用它。实际上,null
可以使用setText
,一直使用它。null