Java編程使用卡片布局管理器示例【基于swing組件】
本文實(shí)例講述了Java編程使用卡片布局管理器。分享給大家供大家參考,具體如下:
運(yùn)行效果:
完整示例代碼:
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 = { "第一個(gè)", "前一個(gè)", "卡片A", "卡片B", "卡片C", "后一個(gè)", "最后一個(gè)" }; 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("第一個(gè)")) { cardLayout.first(cardPanel); } else if (buttonText.equals("前一個(gè)")) { 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("后一個(gè)")) { 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.dbjr.com.cn - 使用卡片布局管理器"); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); } }
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java Swing JButton按鈕的實(shí)現(xiàn)示例
這篇文章主要介紹了Java Swing JButton按鈕的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Java判斷范圍型的數(shù)據(jù)是否存在重疊的方法
遇到了個(gè)問題,同一天可以輸入多個(gè)時(shí)間段,但是每個(gè)時(shí)間段的時(shí)間不能出現(xiàn)重疊,這不就是判斷數(shù)據(jù)返回是否有重疊的變種嗎,所以本文給大家介紹了Java判斷范圍型的數(shù)據(jù)是否存在重疊的方法,需要的朋友可以參考下2024-07-07java操作mongodb基礎(chǔ)(查詢 排序 輸出list)
java操作mongodb基礎(chǔ)學(xué)習(xí)查詢,排序,limit,輸出為list實(shí)例,大家參考使用吧2013-12-12詳解在SpringBoot中@Transactional事物操作和事物無效問題排查
這篇文章主要介紹了詳解在SpringBoot中@Transactional事物操作和事物無效問題排查,本文詳細(xì)的介紹了SpringBoot中集成使用@Transactional注解操作事物以及事物開啟后無效的問題排查,需要的朋友可以參考下2021-06-06Idea 2020.2 創(chuàng)建web、Spring項(xiàng)目的教程圖解
這篇文章主要介紹了Idea 2020.2 創(chuàng)建web、Spring項(xiàng)目的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08詳解Java執(zhí)行g(shù)roovy腳本的兩種方式
這篇文章主要介紹了Java執(zhí)行g(shù)roovy腳本的兩種方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Java 關(guān)于時(shí)間復(fù)雜度和空間復(fù)雜度的深度刨析
算法復(fù)雜度分為時(shí)間復(fù)雜度和空間復(fù)雜度。其作用: 時(shí)間復(fù)雜度是度量算法執(zhí)行的時(shí)間長短;而空間復(fù)雜度是度量算法所需存儲空間的大小2021-11-11Spring中ResponseBodyAdvice的使用詳解
這篇文章主要介紹了Spring中ResponseBodyAdvice的使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10Java concurrency之集合_動力節(jié)點(diǎn)Java學(xué)院整理
Java集合主體內(nèi)容包括Collection集合和Map類;而Collection集合又可以劃分為List(隊(duì)列)和Set(集合),有需要的小伙伴可以參考下2017-06-06