1

我是一个java新手。从网络学习。我的代码存在问题。我有三个班。mainclass.java、oneclass.java、twoclass.java。我在mainclass中导入了oneclass和twoclass。

oneclass 有一个“下一步”按钮。我想做的是在下一个 btn 上的 onActionEvent,从 mainclass 调用一个函数,这会将 oneclass 的可见性设置为 false 并将 twoclass 的可见性设置为 true。我正在发布 mainclass.java 的整个代码

    package com.mainclass;
    import com.twoframe.twojframes;
    import com.secondframe.secondjframe;

public class MainClass {
    private static com.secondframe.twoclass panel2;
    private static com.twoframe.oneclass panel1;


    private static void openPanel1(){
      panel1 = new com.twoframe.oneclass();
      panel1.setVisible(true);
    }
    public static void toggleVisibility(){
        System.out.println("called from child");
        panel2 = new com.secondframe.twoclass();
        panel2.setVisible(true);
        panel1.setVisible(false);
    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                openPanel1();
            }
        });

    }
}

oneclass.java

jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
        {                                         
            // TODO add your handling code here:
           //Basically something like -- mainclass.toggleVisibility();

        } 

谢谢你。

4

1 回答 1

0

假设“父”是您正在扩展的类并且您正在调用的方法不是静态的,那么以下应该可以解决问题:

super.toggleVisibility();

如果它是一个静态方法 - 它甚至更简单:

ParentClassName.toggleVisibility();
于 2013-08-14T22:07:42.993 回答