JavaSwing_1.6:CardLayout(カードレイアウト)


このリンクは次のとおりです.http://blog.csdn.net/xietansheng/article/details/72862688
Java Swingグラフィックインタフェース開発(ディレクトリ)
1.概要
公式JavaDocsApi:javax.swing.CardLayout CardLayout、カードレイアウトマネージャ.コンテナの各コンポーネントを1枚のカードと見なし、一度に1枚のカードしか見えず、コンテナはカードのスタックとして機能し、デフォルトでは最初のカードが表示されます.
CardLayoutの構築方法:
//           0      
CardLayout()

//         /           。
CardLayout(int hgap, int vgap) 

CardLayoutの一般的な方法:
//        
void first(Container parent);

//         
void last(Container parent);

//        (      )
void next(Container parent);

//        (      )
void previous(Container parent);

//          (        ,          )
void show(Container parent, String name);

2.コードインスタンス
package com.xiets.swing;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Main {

    public static void main(String[] args) {
        JFrame jf = new JFrame("    ");
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jf.setSize(300, 200);

        //       ,            10
        final CardLayout layout = new CardLayout(10, 10);

        //         ,       
        final JPanel panel = new JPanel(layout);

        JButton btn01 = new JButton("Button01");
        JButton btn02 = new JButton("Button02");
        JButton btn03 = new JButton("Button03");

        panel.add(btn01, "btn01");
        panel.add(btn02, "btn02");
        panel.add(btn03, "btn03");

        //       
        layout.show(panel, "btn02");

        jf.setContentPane(panel);
        jf.setLocationRelativeTo(null);
        jf.setVisible(true);

        //    2        
        new Timer(2000, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                layout.next(panel);
            }
        }).start();
    }

}

結果:
JavaSwing_1.6: CardLayout(卡片布局)_第1张图片