这是产生错误的片段:
')' expected
';' expected
not a statement
cannot find symbol
symbol : variable ActionEvent
摘录:
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooseToAdd = new JFileChooser();
int option = chooseToAdd.showOpenDialog(this);
if( option == JFileChooser.APPROVE_OPTION ) {
nameOfAudioFile = chooseToAdd.getSelectedFile().getAbsolutePath();
//clonejTree1ValueChanged( TreeSelectionEvent evt );
tester(java.awt.event.ActionEvent evt);
}
}
private void tester(java.awt.event.ActionEvent evt) {
System.out.println("tester");
}
有语法错误吗?
答案 0 :(得分:5)
此方法调用错误:
tester(java.awt.event.ActionEvent evt);
那是试图声明一个参数,但你需要传递一个参数。我怀疑你想要:
tester(evt);
理解方法声明(用名称和类型声明参数)和方法调用(为这些参数提供值)之间的区别非常重要。< / p>
顺便说一下,假设你对Java很陌生,我建议不从Swing或任何其他类型的UI开始。我建议你开始编写一些简单的控制台应用程序,让你掌握Java的基本语法,而不必担心用户界面引入的所有复杂性。
答案 1 :(得分:4)
这一行错了:
tester(java.awt.event.ActionEvent evt);
在这里你应该传递一个ActionEvent类型的对象。
所以它应该是这样的:
tester(evt);
答案 2 :(得分:3)
致电
tester(evt);
而不是
tester(java.awt.event.ActionEvent evt);
您不应该在那里定义类型,它已经知道了。方法调用语法与方法定义不同。
答案 3 :(得分:2)
如果调用方法,则不必提供参数类型。因此,在代码片段的第6行中,它应该只是
tester(evt);
答案 4 :(得分:2)
从
中删除类型定义tester(java.awt.event.ActionEvent evt);