在使用NB4之前,我试了eclipse的VE,不好用,而且速度有点慢。
最关键的是没有我要用的重点组件:JLayeredPane。
下面的部分里,我将使用NB4 beta2(JDK5.0)来做一个小小的GUI程序,来模拟View Stack效果。
什么是View Stack呢?在Flex中有个Container叫ViewStack,它可以管理多个View,并方便的切换,这个东西在设计界面时很有用。
ViewStack在Java Swing里就好像JLayeredPane。
首先打开NetBeans,新建一个Java Application,取名为JViewStackDemo(去掉Create Main Class前的钩)
然后在这个新建的Application中新建一个JFrame From,取名为Main
NB会自动切换到Form Designer状态,在Swing Palette中选择JLayeredPane放到JFrame里。这个JLayeredPane就是我们的ViewStack
设定JLayeredPane的大小:400x300
向JLayeredPane中添加3个JPanel,把他们当作我们ViewStack中的Views。操作后在Inspector中的内容应该是这样的。
在每个Panel上添加一个JLabel用来标识,我起名为"View One","View Two","View Three"
设定Panel的大小全部为400x300
给JFrame添加MenuBar,建一个Menu,用来控制切换ViewStack中显示的内容。
做好后点击Test Form可以看到
好了,现在开始写代码了,在Projects视图里找到Main这个类,在Methods上点鼠标右键添加一个method:hideAllViewsBut,这个方法带一个参数:Component but,意思是隐藏ViewStack中的Views,只显示but这个View。
添加后进入源代码编辑区,看到有一个错误提示,找不到Component的定义,我们可以用NB的Fix Imports功能来修正这个问题。
下面这张图中我们可以看到NB的代码提示功能,还有JavaDoc的提示。
完成后的hideAllViewsBut。
回过头来,在Form Designer中的Inspector中给MenuItem添加事件处理函数,双击MenuItem后NB会自动生成相关代码。
完成每个MenuItem,以实现View的切换。
大功告成了,按F6,编译运行后的画面
可执行的程序(jar)下载:20041006-JViewStackDemo.jar