日期:2011-03-22 16:16:00 来源:本站整理
java的CardLayout[Java编程]
本文“java的CardLayout[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
CardLayout答应我们在更复杂的拥有真正的文件夹卡片与一条边相遇的环境里成立大致相同于“卡片式对话框”的筹划,我们必须压下一个卡片使差别的对话框带到前面来.在AWT里不是这样的:CardLayout是简单的空的空格,我们可以安闲地把新卡片带到前面来.(JFC/Swing库包含卡片式的窗格看起来非常的棒,且可以我们处理全部的细节.)
1. 结合筹划(Combining layouts)
下面的例子结合了更多的筹划范例,在最初只有一个筹划管理器被程序片或利用程序操作看起来相当的艰难.这是事实,但假如我们成立更多的面板对象,每个面板都能拥有一个筹划管理器,并且像被集成到程序片或利用程序中一样利用程序片或利用程序的筹划管理器.这就象下面程序中的一样给了我们更多的机动性:
这个例子首先会成立一种新范例的面板:BottonPanel(按钮面板).它包含一个单独的按钮,安设在BorderLayout的中央,那意味着它将充满整个的面板.按钮上的标签将让我们知道我们在CardLayout上的那个面板上.//: CardLayout1.java // Demonstrating the CardLayout import java.awt.*; import java.applet.Applet; class ButtonPanel extends Panel { ButtonPanel(String id) { setLayout(new BorderLayout()); add("Center", new Button(id)); } } public class CardLayout1 extends Applet { Button first = new Button("First"), second = new Button("Second"), third = new Button("Third"); Panel cards = new Panel(); CardLayout cl = new CardLayout(); public void init() { setLayout(new BorderLayout()); Panel p = new Panel(); p.setLayout(new FlowLayout()); p.add(first); p.add(second); p.add(third); add("North", p); cards.setLayout(cl); cards.add("First card", new ButtonPanel("The first one")); cards.add("Second card", new ButtonPanel("The second one")); cards.add("Third card", new ButtonPanel("The third one")); add("Center", cards); } public boolean action(Event evt, Object arg) { if (evt.target.equals(first)) { cl.first(cards); } else if (evt.target.equals(second)) { cl.first(cards); cl.next(cards); } else if (evt.target.equals(third)) { cl.last(cards); } else return super.action(evt, arg); return true; } } ///:~
在程序片里,面板卡片上将存放卡片和筹划管理器CL因为CardLayout必须构成类,因为当我们需求处理卡片时我们需求拜候这些句柄.
这个程序片变成利用BorderLayout来代替它的默许FlowLayout,成立面板来包容三个按钮(利用FlowLayout),并且这个面板安设在程序片末尾的“North”.卡单方面板增添到程序片的“Center”里,有效地占据面板的别的地方.
当我们增添BottonPanels(大概任何别的我们想要的组件)到卡单方面板时,add()办法的第一个自变量不是“North”,“South”等等.相反的是,它是一个描写卡片的字符串.假如我们想轻击那张卡片利用字符串,我们便可以利用,固然这字符串不会显示在卡片的任何地方.利用的办法不是利用action();代之利用first()、next()和last()等办法.请查看我们有关别的办法的文件.
在Java中,利用的一些卡片式面板构造非常的重要,因为(我们将在背面看到)在程序片编程中利用的弹出式对话框是非常令人懊丧的.关于Java 1.0版的程序片而言,CardLayout是唯一有效的获得很多差别的“弹出式”的窗体.
以上是“java的CardLayout[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论