1

私はJavaの課題に取り組んでおり、メインクラスに返されてメインパネルに追加される別々のクラスで作成された4つのパネルを持つJFrameアプレットを作成しました。私が直面している問題は、サウス パネルにコンボ ボックスがあることです。そのコンボボックスからの選択に基づいて、その選択に基づいて他のパネルを更新したいと思います。これを達成する方法がわからず、その単一のパネルを再描画するか、メインパネル全体を再作成することさえ検討しました. どんな助けや提案も大歓迎です。

初心者向けに、メイン パネル クラスから以下のコードを投稿しました。

私はここで初めてポスターを作成するので、詳細が十分でない場合や抜けている場合はお知らせください。

public class Main_GUI_Panel extends JFrame {

    public static Panel_North northPanel;
    public static Panel_Center centerPanel;
    public static Panel_West westPanel;
    public static Panel_South southPanel;
    private int index = -1;

    public Main_GUI_Panel() {
        super("Java 2: Final Project");
        getContentPane().setBackground(Color.BLACK); //set the applet background color
        setLayout(new BorderLayout());  //set the Layout for the applet

        //START - call methods to create & set panels
            northPanel = new Panel_North();
            westPanel = new Panel_West();
            centerPanel = new Panel_Center();
            southPanel = new Panel_South();

            add(northPanel.setNorth(),BorderLayout.NORTH); //set the North portion of the applet
            add(westPanel.setWest(index),BorderLayout.WEST); //set the West portion of the applet
            add(centerPanel.setCenter(),BorderLayout.CENTER); //set the Center portion of the applet
            add(southPanel.setSouth(),BorderLayout.SOUTH); //set the South portion of the applet
        //END - call methods to set panels
    }
4

1 に答える 1

1

GUIを作成するときは、GUIのデータを保持する1つ以上のモデルクラスを作成する必要があります(必須)。これがモデルです。GUIコンポーネントがビューです。これらのパーツは、アプリケーションのモデル/ビュー/コントローラー(MVC)を構成します。

トップレベルのモデルクラスのインスタンスをGUIのすべてのパネルに渡します。各パネルはモデルクラスを更新でき、次に、パネルはモデルからデータを取得します。

したがって、1つのパネルで行うことは、別のパネルの表示に影響を与える可能性があります。

この回答では、GUIモデルとGUIビューについて詳しく説明します。

于 2012-12-11T15:52:46.250 に答える