作者Egriawei (断背山狼与羊)
站内java
标题[问题] CardLayout使用技巧
时间Sun May 14 23:39:50 2006
看了范例之後了解了大概用法
先简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)