日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

CardLayout布局练习(小的图片浏览器)

發布時間:2025/3/8 HTML 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CardLayout布局练习(小的图片浏览器) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 /* 2 涉及Panel中的圖片的加載,還有Frame的關閉的方法, CardLayout(int hgap, int vgap)就會決定卡片面板的大小 3 匿名類的使用。。。 4 */ 5 import java.awt.*; 6 import java.awt.event.*; 7 import javax.swing.*; 8 public class CardLayoutDemo extends Frame{ 9 Panel pCards=new Panel();//卡片面板 10 CardLayout Clayout=new CardLayout(120, 50);//設置卡片和面板邊界的垂直和水平距離 11 public CardLayoutDemo(){ 12 setLayout(new BorderLayout(100, 20)); 13 Panel pBtn = new Panel();//按鈕面板 14 15 pCards.setLayout(Clayout); 16 //pCards.setPreferredSize(new Dimension(30,40));//這句不再起作用了:因為其父類CardLayoutDemo使用的是BorderLayout布局方式,會自動填充 17 pCards.setBackground(Color.red); 18 pBtn.setBackground(Color.yellow); 19 pBtn.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); 20 pBtn.setPreferredSize(new Dimension(200, 50)); 21 22 Button tmpB; 23 pBtn.add(tmpB = new Button("第一張")); 24 tmpB.addActionListener(new myActionListener()); 25 tmpB.setActionCommand("first"); 26 pBtn.add(tmpB = new Button("下一張")); 27 tmpB.addActionListener(new myActionListener()); 28 tmpB.setActionCommand("next"); 29 30 pBtn.add(tmpB = new Button("前一張")); 31 tmpB.addActionListener(new myActionListener()); 32 tmpB.setActionCommand("previous"); 33 34 pBtn.add(tmpB = new Button("最后一張")); 35 tmpB.addActionListener(new myActionListener()); 36 tmpB.setActionCommand("last"); 37 38 39 for(int i=1; i<=4; ++i){ 40 myPanel tmpP; 41 pCards.add(""+i, tmpP=new myPanel(i){ 42 public void paint(Graphics g){ 43 g.drawImage(new ImageIcon("zjy"+i+".jpg").getImage(), 20, 0, 300, 400, this); 44 } 45 }); 46 tmpP.setBackground(Color.blue); 47 //tmpP.setSize(new Dimension(300, 400));//tmpP接受了匿名類對象,可以通過這種方法更改匿名類的屬性 48 //這里不設置的原因是它的大小由CardLayout(int hgap, int vgap)決定了 49 } 50 add(pBtn, "North"); 51 add(pCards, "Center"); 52 } 53 class myActionListener implements ActionListener{ 54 public void actionPerformed(ActionEvent e){ 55 String str=e.getActionCommand(); 56 if(str.equals("first")) 57 Clayout.first(pCards); 58 else if(str.equals("next")) 59 Clayout.next(pCards); 60 else if(str.equals("previous")) 61 Clayout.previous(pCards); 62 else if(str.equals("last")) 63 Clayout.last(pCards); 64 } 65 } 66 67 public static void main(String args[]){ 68 CardLayoutDemo myWindow = new CardLayoutDemo(); 69 myWindow.setSize(new Dimension(600, 600)); 70 myWindow.setResizable(false); 71 myWindow.addWindowListener(new myClosingListener()); 72 myWindow.setVisible(true); 73 } 74 } 75 76 77 class myClosingListener extends WindowAdapter{ 78 public void windowClosing(WindowEvent e){ 79 System.exit(0); 80 } 81 } 82 83 class myPanel extends Panel{ 84 int i; 85 public myPanel(int i){ 86 this.i=i; 87 } 88 }

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3811123.html

總結

以上是生活随笔為你收集整理的CardLayout布局练习(小的图片浏览器)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。