
Javaのswingでラベルクリックによる画面遷移をしたいです、下記のコードのlabel1にクリックをしてpanel1からpanel2への画面遷移、panel2のlabel2をクリックし、panel3へ画面遷移、panel3のlabel3をクリックし、panel1へ画面遷移。
上記のようにするにはどうしたらいいですか。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Layout2 extends JFrame implements MouseListener{
JLabel label2;
JLabel label3;
CardLayout layout;
JPanel panel2;
JPanel panel3;
public static void main(String[] args) {
Layout2 frame = new Layout2("タイトル");
frame.setVisible(true);
}
Layout2(String title){
setTitle("タイトル");
setBounds(100,100,250,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label2 =new JLabel("二枚目");
label3 =new JLabel("三枚目");
panel2 = new JPanel();
panel3 = new JPanel();
panel3.setBackground(Color.RED);
JLabel label1 = new JLabel("クリック");
label1.addMouseListener(this);
label2.addMouseListener(this);
label3.addMouseListener(this);
JPanel panel1 = new JPanel();
panel1.add(label1);
panel2.add(label2);
panel3.add(label3);
layout = new CardLayout();
panel1.setLayout(layout);
Container contentPane = getContentPane();
contentPane.setLayout(layout);
contentPane.add(panel1,"panel");
contentPane.add(panel2,"panel2");
contentPane.add(panel3,"panel3");
}
@Override
public void mouseClicked(MouseEvent e) {
layout.show(getContentPane(),"panel2");
layout.show(getContentPane(),"panel3");
}
@Override
public void mousePressed(MouseEvent e) {
// TODO 自動生成されたメソッド・スタブ
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO 自動生成されたメソッド・スタブ
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO 自動生成されたメソッド・スタブ
}
@Override
public void mouseExited(MouseEvent e) {
// TODO 自動生成されたメソッド・スタブ
}
}
No.1ベストアンサー
- 回答日時:
順番にカードを切り替える操作を利用しましょう
https://docs.oracle.com/javase/jp/10/docs/api/ja …
もっと複雑な切り替えが必要ならば、
現在表示しているカード名の状態を独自に管理して、次に切り替えるカード名を計算するメソッドを用意してから、
カードを切り替える操作をしましょう
https://docs.oracle.com/javase/jp/10/docs/api/ja …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JButton-背景の透明化
-
4択クイズでのランダム出題の...
-
System.err. printlnとSystem.o...
-
InputStream.read()でタイムア...
-
VBSエラー"オブジェクト型の変...
-
変数を動的に作るには?
-
javaのコンパイルエラーについ...
-
パソコンキーボードで時分秒を...
-
JSPやサーブレットでSystem.out...
-
JavaScriptの変数をjavaのメソ...
-
「配列定数は、イニシャライザ...
-
javaです
-
jspでの二次元配列
-
VBで作った乱数を一度も重複さ...
-
C#で、あるクラスのメンバーす...
-
int型のゼロ埋め
-
createImage()を使い コンパイル
-
プログラミングの問題です。大...
-
JavaFXでの表内のチェックボッ...
-
StrutsでJSPからListを受け取り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Buttonを押すと画像が表示され...
-
setPrefferedSizeとsetSize
-
javaで文字数制限するには?
-
JPanelの切り替えと再描画
-
java junit list同士の比較方法
-
SwingのJMenuに大量のJMenuItem...
-
JDialogを閉じた時の処理
-
JFrameとJPanelの最大化について
-
KeyListenerの使い方について
-
最後の行に移動するには?
-
JTable の 列幅を個別に設定す...
-
TextAreaでの文字の色
-
cadで作った図面をフレーム上で...
-
JTableの列ヘッダ
-
4択クイズでのランダム出題の...
-
JPanelの重ね方/OverlayLayout他
-
Enterキーでボタンを押すにはど...
-
Swing自作コンポーネントをadd...
-
Java-Swing TextAreaにスクロー...
-
キーボードから入力された全角...
おすすめ情報