-1

こんにちは、メイン クラスの JLabel などのオブジェクトを、JPanel の属性を継承するセカンダリ クラスに追加しようとしています。何をしようとしているのかを示す基本的な例を作成しましたが、機能しません。私のコードです:

public class main extends JFrame{


public main(){
    this.setVisible(true);
    this.setSize(600, 600);
    panel nou = new panel(new JLabel("a mers"));
}
public static void main (String[] args){
    new main();
}

}

public class panel extends JPanel{

    public panel(JLabel nou){
        this.add(nou);
    }
}

私の元のコードは、外部クラスからいくつかの画像を追加する必要があり、同じアプローチを試みましたが、うまくいきません.どうすればこれを達成できますか?

編集:これは、このコンポーネントを外部クラスから追加する必要がある単なる例です

4

2 に答える 2

1

インスタンスを作成していJPanelますが、に追加していませんJFrame

また、クラス名はCapital Camel Caseの規約に従ってください。

于 2012-06-13T17:24:09.293 に答える
1

Container#add(Component)を使用します。コンストラクター内でも、コンストラクター外でも同じように (this なしで) 使用できます。

nou.add(new JLabel("trees"));
于 2012-06-13T17:24:59.303 に答える