Java NetBeans将值传递给JFrame会产生编译错误

时间:2016-01-17 17:58:08

标签: java swing netbeans jframe

有两个jFrame。

  1. 第一页
  2. SecondPage
  3. FirstPage上有一个按钮。当用户点击它时,我需要打开SecondPage

    这是FirstPage中的代码:

    private void btn_testActionPerformed(java.awt.event.ActionEvent evt) {                                         
    
        String testName="Damith";
        SecondFrame win1=new SecondFrame(testName);
        win1.setVisible(true);
    } 
    

    这是我修改SecondPage

    的方法
    public SecondFrame(String anyname) {
        initComponents();
    
    }
    

    当我运行项目时,它说:

      

    一个或多个项目符合错误

    然而,当我点击“Run Anyway”时,它按预期工作。

    那么,为什么他们说“一个或多个项目都符合错误”?

1 个答案:

答案 0 :(得分:0)

我看到您修改了NetBeans为您生成的默认构造函数:

public SecondFrame(String anyname) {
    initComponents();

}

这意味着如果您使用NetBeans为您生成的默认构造函数替换(而不是添加)上述内容,则会导致编译错误,因为NetBeans自动生成的代码会调用它生成的默认构造函数,而不是你明确创建的那个:

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
        new SecondFrame().setVisible(true);
    }
});

因此,如果上述假设是正确的(并且它是唯一的假设,您可以使用您提供的详细信息),则以下行是错误的原因:

new SecondFrame().setVisible(true);

如果没有,只需将鼠标悬停在编辑器上确切行的红色标记上,让编译器通知您特定错误。