0

JFrame があり、それをメインとして使用し、同じ JFrame 内の JPanels を変更します。最初の JPanel はすでに JFrame 内にあるため、「this.removeall() then this.setContentPane(new JPanel2)」で置き換えることができます。これは、ここで「this」が JFrame 自体を呼び出すためです。

もう一方の JPanel では、現在の JPanel を別のものに置き換えるための JButton を作成したいと考えています。問題は、ここで「これ」が JFrame ではなく JPanel を呼び出すため、以前と同じコードを実行できないことです。

問題は、JPanel 内にコードを記述して、JFrame の「setContentPane」を変更して 2 番目のパネルを表示できるようにする方法です。


私は CardLayout を使用して答えを見つけました..このビデオは私が問題を解決するのに役立ちました

Netbeans の CardLayout ビデオ

4

1 に答える 1

2

JPanelのbuttonActionListnerにコードを書きたい。そのコードを JFrame に記述しないので、すべての JPanel を追加および削除して、別の JPanel を個別に呼び出すことができます。

@AndrewThompson-インターフェイスの設計では、CardLayout やタブではなくボタンを使用しました。すべてのアプリケーション パネルを作成し、それらを 1 つの JFrame で 1 つずつ変更したかった

親を呼び出さなければならない ( JFrame, JPanel),

validate(); // for Java7 revalidate() for JFrame
repaint();

削除して新しいものを追加した後JPanel、一度だけ、最後のコード行として

よく述べたよう@AndrewThompsonに、最も簡単で簡単な方法は CardLayout を使用することです

于 2012-09-13T05:56:47.750 に答える