本文實例講述了Java編程使用卡片布局管理器。分享給大家供大家參考,具體如下:
運行效果:

完整示例代碼:
package com.han;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
/**
* 使用卡片布局管理器
* @author HAN
*
*/
public class CardLayout_1 extends JFrame {
/**
*
*/
private static final long serialVersionUID = -5255525755443566487L;
public CardLayout_1() {
// TODO Auto-generated constructor stub
Container container = getContentPane();
final CardLayout cardLayout = new CardLayout();
final JPanel cardPanel = new JPanel(cardLayout);
String[] cardNames = { "卡片A", "卡片B", "卡片C" };
for (int i = 0; i < cardNames.length; i++) {
// JLabel label = new JLabel(cardNames[i]);
JLabel label = new JLabel(cardNames[i], SwingConstants.CENTER);
// cardPanel.add(label);
cardPanel.add(label, cardNames[i]);
}
container.add(cardPanel, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel(); // by default, the flow layout
container.add(buttonPanel, BorderLayout.SOUTH);
String[] buttonNames = { "第一個", "前一個", "卡片A", "卡片B", "卡片C",
"后一個", "最后一個" };
for (int i = 0; i < buttonNames.length; i++) {
final JButton button = new JButton(buttonNames[i]);
buttonPanel.add(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String buttonText = button.getText();
if (buttonText.equals("第一個")) {
cardLayout.first(cardPanel);
} else if (buttonText.equals("前一個")) {
cardLayout.previous(cardPanel);
} else if (buttonText.equals("卡片A")) {
cardLayout.show(cardPanel, "卡片A");
} else if (buttonText.equals("卡片B")) {
cardLayout.show(cardPanel, "卡片B");
} else if (buttonText.equals("卡片C")) {
cardLayout.show(cardPanel, "卡片C");
} else if (buttonText.equals("后一個")) {
cardLayout.next(cardPanel);
}else {
cardLayout.last(cardPanel);
}
}
});
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CardLayout_1 frame = new CardLayout_1();
frame.setTitle("www.jb51.net - 使用卡片布局管理器");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
}
}
更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。