0

したがって、次のいずれかを行うのが間違っているかどうかを知りたかったのです。

クラスがある場合MyJPanel extends JPanel、どちらか...

a)

次のように、パネル自体の構築中に JComponents を追加するようにコンストラクターを記述します。

public MyJPanel() {

    JButton button = new JButton("Hello");
    JLabel labelOne = new JLabel("Hello");
    JLabel labelTwo = new JLabel("Bye");

    add(button);
    add(labelOne);
    add(labelTwo);

}

または b)

MyJPanel testPanel = new MyJPanel();これらのコンポーネントを呼び出して明示的にクラスで宣言add()しますか? だから基本的に:

public class SomeOtherClass {


    public static void main(String[] args) {

        JButton button = new JButton("Hello");
        JLabel labelOne = new JLabel("Hello");
        JLabel labelTwo = new JLabel("Bye");

        MyJPanel testPanel = new MyJPanel();
        testPanel.add(button);
        testPanel.add(labelOne);
        testPanel.add(labelTwo);

    }

}

これはばかげた質問かもしれませんが、両方が大丈夫なのか、どちらかが大丈夫でないのか知りたかっただけです。

4

2 に答える 2

1

提示されたコードは単なるテスト コードであるため、どのように設計すればよいかはわかりません。あなたが提示した方法は、原則として間違っていません。現実世界のアプリケーションのルールとして、高度に保守可能で再利用可能なコンポーネントを作成する必要があります。ただし、それらを作成する方法の答えは、必要な柔軟性のレベルによって異なります。必要な正確な形状のコンポーネントを生成するいくつかのファクトリ メソッドを使用することも検討できます。一部の「デフォルト」Java コンポーネントがどのように設計および実装されているかを確認することも悪い考えではありません。たとえば、http://docs.oracle.com/javase/6/docs/api/javax/swing/ をご覧くださいJOptionPane.html

于 2013-09-14T16:41:39.857 に答える