为什么我会收到此错误?

时间:2011-08-24 07:33:00

标签: java function

这是产生错误的片段:

')' 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");
}

有语法错误吗?

5 个答案:

答案 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);