溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java布局管理之CardLayout怎么用

發(fā)布時間:2021-08-23 13:54:16 來源:億速云 閱讀:195 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關java布局管理之CardLayout怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體內容如下

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class TestCard implements ActionListener{
 
 private JFrame fm=new JFrame("卡片的測試");
 private JPanel cardpan,containbtn; //cardpan為卡片顯示區(qū)域, containbtn為按鈕顯示區(qū)域
 private JButton btn1,btn2,btn3,btn4; //此處定義詩人的按鈕
 private JPanel pan1,pan2,pan3,pan4; //此處定義的面板中顯示詩句
 private CardLayout card;    //定義卡片布局
 private JTextArea ta1,ta2,ta3,ta4; //定義放詩句的文本域
 
 public TestCard(){
  
  //以下為初始化組件
  cardpan=new JPanel();
  containbtn=new JPanel();
  card=new CardLayout();
  cardpan.setLayout(card);
  
  btn1=new JButton("李白");
  btn2=new JButton("杜甫");
  btn3=new JButton("白居易");
  btn4=new JButton("孟浩然");
  
  ta1=new JTextArea(30,30);
  ta2=new JTextArea(30,30);
  ta3=new JTextArea(30,30);
  ta4=new JTextArea(30,30);
  
  //把定義的按鈕放到顯示按鈕的面板中
  containbtn.add(btn1);
  containbtn.add(btn2);
  containbtn.add(btn3);
  containbtn.add(btn4);
  
  pan1=new JPanel();
  //給按鈕添加監(jiān)聽事件
  btn1.addActionListener(this);
  btn2.addActionListener(this);
  btn3.addActionListener(this);
  btn4.addActionListener(this);
  
  
  //給定義的文本域中添加詩人相應的詩句
  ta1.append("日照香爐生紫煙,\r\n");
  ta1.append("遙看瀑布掛前川。\r\n");
  ta1.append("飛流直下三千尺,\r\n");
  ta1.append("疑是銀河落九天。");
  
  ta2.append("兩個黃鸝鳴翠柳,\r\n");
  ta2.append("一行白鷺上青天。\r\n");
  ta2.append("窗含西嶺千秋雪,\r\n");
  ta2.append("門泊東吳萬里船。");
  
  ta3.append("一道殘陽鋪水中,\r\n");
  ta3.append("半江瑟瑟半江紅。\r\n");
  ta3.append("可憐九月初三夜,\r\n");
  ta3.append("露似珍珠月似弓。");
  
  ta4.append("春眠不覺曉,\r\n");
  ta4.append("處處聞啼鳥。\r\n");
  ta4.append("夜來風雨聲,\r\n");
  ta4.append("花落知多少。");
  
  pan1.add(ta1);
  pan2=new JPanel();
  pan2.add(ta2);
  pan3=new JPanel();
  pan3.add(ta3);
  pan4=new JPanel();
  pan4.add(ta4);
  
  //把定義好的面板放到卡片布局的組件中
  cardpan.add("b1",pan1);
  cardpan.add("b2",pan2);
  cardpan.add("b3",pan3);
  cardpan.add("b4",pan4);
  
  
  fm.add(containbtn,BorderLayout.NORTH);//把顯示按鈕的組件放到上面顯示
  fm.add(cardpan,BorderLayout.CENTER);//把顯示文本域的組件放到中間顯示
  
  fm.setSize(400,400);
  fm.setLocation(200,100);
  fm.setVisible(true);
  fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 
 public static void main(String[] args) {
  new TestCard();
 }

public void actionPerformed(ActionEvent e) {
 // TODO Auto-generated method stub
 /**
  * e.getActionCommand()顯示的結果是對應組件上的內容標簽
  * card.show(cardpan, "b1");表示對應組件和顯示組件的名稱
  * CardLayout.show(Container parent, String name):顯示卡片的實現(xiàn)方法定義
  */
 if("李白".equals(e.getActionCommand())){
  card.show(cardpan, "b1");
 }
 if("杜甫".equals(e.getActionCommand())){
  card.show(cardpan, "b2");
 }
 if("白居易".equals(e.getActionCommand())){
  card.show(cardpan, "b3");
 }
 if("孟浩然".equals(e.getActionCommand())){
  card.show(cardpan, "b4");
 }
}
}

java布局管理之CardLayout怎么用

感謝各位的閱讀!關于“java布局管理之CardLayout怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI