很多用惯了delphi和c#的人都知道,用锚点进行可以很方便的设计出很漂亮的GUI界面,所以人们往往差异于java的GUI设计中居然没有锚点.今天告诉大家,java也是有锚点的
为了演示锚点,我们需要一个组件,下面的是我们上篇教程里提到的组件面板:
图1
在里面我们选中一个JButton组件进行演示,左键点击该图标.
图2
然后将其拖到中间的面板上,(注:鼠标单击后就可以松开,不必按着不放)效果如下.
图3
细心的读者应该注意到该组件到JFrame面板的左端和上端有两条虚线,虚线与面板边缘的交接处各有一个半圆,这是不是就是传说中的锚点呢?我们右击该组件:
图4
轰,果然是锚点,对于从没有接触过图形界面设计的读者来说,一定会问:什么是锚点?锚点,直接跟你叙述估计你也不懂,而且也不是本教程涉及的范畴.那么还是通过感性的认识来明确这个概念吧.
图5
单击预览设计(抓图的时候鼠标没有抓下来,就是带一只眼睛的那个按钮).
图6
出现了预览的窗口,这也是netbeans的一个非常优秀的功能.让我们随时可以查看我们设计的界面及效果.接着我们改变窗口的大小看看(注意,我是拖动的左上角,你也要拖动左上角,否则看不出效果)
图7
轰,窗口大小变了,但是按钮距离左边缘和上边缘的距离却没有变.这相对于以前的nolayout情况(setLayout(null))有极大的不同.如果是nolayout情况,组件位置是不会随着窗口变化而变化的.这就是锚点的威力.
想象一下,如今,任何组件都可以设置锚点,有了锚点,界面设计将会变得多么灵活.
关于锚点还要补充一句,锚点中左右是不能同时选中的,上下也是不能同时选中的,也就是说,只有左上,左下,右上,右下四种组合.
本篇教程到此结束,建议将所有的组件都设置一下锚点看看,再进行下面的课程.