1

Java初心者です。ウェブから学ぶ。コードの問題で立ち往生しています。私は3つのクラスを持っています。mainclass.java、oneclass.java、twoclass.java。メインクラスに 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

Assuming the "parent" is a class you're extending and the method you're calling is NOT static, the following should do the trick:

super.toggleVisibility();

If it's a static method - it's even Simpler:

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