看了範例之後了解了大概用法
先簡po一點程式
然後再帶到我的問題
==============================
我要使用CardLayout
先在Class中:
final CardLayout cl = new CardLayout(10,5);//10跟5邊界數字不要在意
//宣告final以便內部類別存取
//然後
final Jpanel jpimage = new JPanel(cl);
//之後只要把圖片一張張放到這個Jpanel的卡片夾就完成了
//例如我有一個JLable[] lbImage = {...}
//放了若干張設了ImageIcon的JLabel
//然後用加強型for迴圈把這些JLable放進去我的Jpanel
for(JLable elm: lbImage)
{
jpimage.add(elm);
}
接下來使用CadrLayout的方法
宣告五個button註冊監聽器
分別做做這份CadrLayout的first,previous,next,last,show的方法
所以我可以有"第一頁","前一頁","下一頁","末頁","顯示某頁"的button
這些button就分別做她們所寫的那些事
到這裡應該很完美
不過問題來了!
使用"下一頁"或"上一頁"這兩個button圖片一定會繞圈圈
可是我希望跑到第一頁就不允許點了上一頁有動作
(同樣地,跑到最後一頁不允許點了下一頁有動作)
請問什麼功能才能抓到我現在在CardLayout上的卡片呢?
我查不出來該用哪個
知道的話就可以用
if (not CardLayout上的卡片=首張卡片)
{
做翻往上張卡片的動作;
}
來解決我的問題
上一頁這個button註冊的監聽器大概寫成這樣
只用一次所以我寫成匿名類別
btnPre.addMouseListener(new Mouseadapter){
public Void mouseClicked(MouseEvent e){
cl.first(jpimage);//移到上一張卡片
}
}
雖然說讓他繞沒什麼不好...
不過我還是想讓它定著,畢竟理論上第一頁沒有上一頁
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.32.126
※ 編輯: Egriawei 來自: 61.230.32.126 (05/14 23:44)