私は自分のコースワークのために作っているアプレットに助けが必要です。異なるクラスのカードレイアウト
私はカードレイアウトを使用しています。それぞれのカードの内容を別のクラスから取りたいと思っています。その後、各カードで、ボタンを他のカードに切り替えるようにします。同様の方法で動作する例を見てきましたが、アプレットではなくJFrameに基づいています。
私は外部リンクを送ってはいけません。数日前からカードのレイアウトを研究しています。私はJavaの初心者です。私は遅い学習者です。誰かに私に基本的な例を示し、それがどのように行われるかを説明したい。ありがとうございました!
public class MainClass extends JApplet implements ActionListener {
boolean inAnApplet = true;
JButton btn1, btn2;
JPanel cards;
final static String PANEL1 = "";
final static String PANEL2 = "";
public MainClass() {
Container contentPane = getContentPane();
JPanel cbp = new JPanel();
cbp.add(new JLabel ("Hello world!"));
contentPane.add(cbp, BorderLayout.NORTH);
cards = new JPanel();
cards.setLayout(new CardLayout());
JPanel p1 = new JPanel();
p1.add(new JLabel("First panel!"));
btn1 = new JButton("Text panel");
btn1.addActionListener(this);
p1.add(btn1);
JPanel p2 = new JPanel();
p2.add(new JLabel("Second panel!"));
btn2 = new JButton("Button panel");
btn2.addActionListener(this);
p2.add(btn2);
cards.add(p1, PANEL1);
cards.add(p2, PANEL2);
contentPane.add(cards, BorderLayout.CENTER);
}
public void init(){}
public void actionPerformed(ActionEvent evt) {
CardLayout cl = (CardLayout)(cards.getLayout());
if(evt.getSource() == btn1)
{
cl.show(cards, PANEL1);
}
else if(evt.getSource() == btn2)
{
cl.show(cards, PANEL2);
}
}
}
を '表示したいカードの名前を知っている必要があり、レイアウトマネージャを持っていることを
基本的な例とそれがどのように行われたかを説明します。 - [CardLayoutの使い方](http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html)のSwingチュートリアルのセクションを読んでください。作業デモコード。コードをダウンロードして遊んでください。あなたが理解していないチュートリアルコードについて何かがある場合は、私たちに特定の質問をすることができます。あなたが理解していないものは推測できません。たとえば、チュートリアルでは、カード名は実際に空のStringではない値を持っています。 – camickr
ご意見ありがとうございます。私はこのチュートリアルを何度か読んだ。私が与えたコードはそのチュートリアルから抜粋したものです。私はカードレイアウトの仕組みを理解していますが、各カード(パネル)を別のクラスにする方法はわかりません。 – darijus