Java編程使用卡片布局管理器示例【基于swing組件】
更新時間:2018年01月29日 11:37:16 作者:fearlessMore
這篇文章主要介紹了Java編程使用卡片布局管理器,結合實例形式分析了java基于swing組件的卡片布局管理器具體實現(xiàn)與使用技巧,需要的朋友可以參考下
本文實例講述了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.dhdzp.com - 使用卡片布局管理器");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
}
}
更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
SpringBoot項目整合MybatisPlus并使用SQLite作為數(shù)據(jù)庫的過程
SQLite是一個緊湊的庫,啟用所有功能后,庫大小可以小于 750KiB, 具體取決于目標平臺和編譯器優(yōu)化設置, 內存使用量和速度之間需要權衡,這篇文章主要介紹了SpringBoot項目整合MybatisPlus并使用SQLite作為數(shù)據(jù)庫,需要的朋友可以參考下2024-07-07
IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)
這篇文章主要介紹了IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

