繁体   English   中英

为什么我会收到此错误?

[英]Why do i get this error?

这是产生错误的片段:

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

有语法错误吗?

这个方法调用是错误的:

tester(java.awt.event.ActionEvent evt);

那是试图声明一个参数,但你需要传递一个参数。 我怀疑你想要:

tester(evt);

理解方法声明 (使用名称和类型声明参数)和方法调用 (为这些参数提供值)之间的区别非常重要。

顺便说一下,假设你对Java很陌生,我建议不要从Swing或任何其他类型的UI开始。 我建议你开始编写一些简单的控制台应用程序,让你掌握Java的基本语法,而不必担心用户界面引入的所有复杂性。

这条线错了:

tester(java.awt.event.ActionEvent evt);

在这里,您应该传递ActionEvent类型的对象。

所以它应该是这样的:

tester(evt);

呼叫

tester(evt); 

代替

tester(java.awt.event.ActionEvent evt);

你不应该在那里定义类型,它已经知道了。 方法调用语法与方法定义不同。

如果调用方法,则不必提供参数类型。 所以在代码片段的第6行中它应该是唯一的

tester(evt);

从中删除类型定义

tester(java.awt.event.ActionEvent evt);    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM