首页 理论教育 Java程序设计:LoginDemo界面实现与应用开发

Java程序设计:LoginDemo界面实现与应用开发

时间:2023-11-26 理论教育 版权反馈
【摘要】:注册软件LoginDemo界面实现一。语句将标签lYourInform放入边界布局的北面。将面板centerPanel放入边界布局的中心区域,一般地要用语句因为JFrame的默认放置区域是中心区域,所以,在JFrame中,语句等价于语句。语句意义是将标签lHobby放入面板panel4,若没有“panel4.”,语句图13-2 LoginDemo界面二就是其结果将标签lHobby放入当前对象框架JFrame中。关键词super语句出现了关键词super。具有super的类似语句有。注意,在例13-1程序LoginDemo1中,centerPanel是全局变量,参见语句。设置为全局变量是与表示为这个形式配合的。

Java程序设计:LoginDemo界面实现与应用开发

在第5章例5-6、例5-10和例5-11中,部分实现了LoginDemo的界面,在这几个程序中仅使用默认的流式布局管理器而没有使用面板,某些控件之间的对齐使用了空标签调整彼此间隔。解决控件布局问题的根本办法是使用布局管理器,其中还需要使用面板。下面,分两步实现注册软件LoginDemo界面,目的是使程序短一些,便于解释而已。

【例13-1】注册软件LoginDemo界面实现一。

978-7-111-44824-2-Part02-126.jpg

978-7-111-44824-2-Part02-127.jpg

978-7-111-44824-2-Part02-128.jpg

运行程序结果如图13-1所示。

[编程说明]

(1)框架JFrame的默认布局管理器

因为框架JFrame的默认布局管理器是边界布局管理器,所以程序中不需要再设置布局管理器。语句(15.1.2)将标签lYourInform放入边界布局的北面。注意,Java的参数必须全部用大写英文字母,比如,本例的北面用BorderLayout.NORTH。

978-7-111-44824-2-Part02-129.jpg

图13-1 LoginDemo界面一

(2)框架JFrame的默认放置区域

因为边界布局的5个区域,即东面、南面、西面、北面和中心区域,每个区域只能放置一个控件。若放置多于1个控件时,在该区域中出现的是最后一个控件。本例中,需要在中心区域放置多个控件,所以,设计一块面板centerPanel。在面板中,放置多个控件。而将这块面板作为一个控件放入中心区域。注意语句(13.1.3)和其中的注释。将面板centerPanel放入边界布局的中心区域,一般地要用语句

978-7-111-44824-2-Part02-130.jpg

因为JFrame的默认放置区域是中心区域,所以,在JFrame中,语句(13.1.3)等价于语句(13.1.4)。读者可自行实验证实。

(3)面板Panel的默认布局管理器

面板Panel的默认布局管理器是流式布局管理器。在中心面板centerPanel中将放置4块面板。为简单起见,没有为中心面板设计布局,即对这4块面板采用默认的流式布局。

【例13-2】注册软件LoginDemo界面实现二,加入panel4。

978-7-111-44824-2-Part02-131.jpg

978-7-111-44824-2-Part02-132.jpg

978-7-111-44824-2-Part02-133.jpg

运行程序结果如图13-2所示。(www.xing528.com)

[编程说明]

(1)面板布局

语句(13.1.5)对面板panel4设置网格布局管理器。这里,强调对什么对象设置布局管理器,本例是对面板panel4,所以应有“panel4.”。若没有“panel4.”,语句

978-7-111-44824-2-Part02-134.jpg

就是

978-7-111-44824-2-Part02-135.jpg

其意义是为当前对象,即为框架JFrame设置网格布局管理器。Java的初学者常常在此发生错误。类似的错误还有使用方法add()。语句(13.1.6)意义是将标签lHobby放入面板panel4,若没有“panel4.”,语句

978-7-111-44824-2-Part02-136.jpg

图13-2 LoginDemo界面二

978-7-111-44824-2-Part02-137.jpg

就是

978-7-111-44824-2-Part02-138.jpg

其结果将标签lHobby放入当前对象框架JFrame中。

(2)关键词super

语句(13.1.7)出现了关键词super。我们知道Java用关键词this代表“当前对象”或“本对象”,在实例中,这个this代表对象LoginDemo2。Java用关键词super代表当前对象的直接父类。因为当前对象LoginDemo2继承了LoginDemo1,所以,super代表了对象LoginDemo1。注意,中心面板centerPanel是在LoginDemo1中定义和实例化的。所以,本程序需要将panel4放入到LoginDemo1的中心面板centerPanel中,当然要指出的是旧这块面板是其直接父类的面板,即

978-7-111-44824-2-Part02-139.jpg

再用方法add(),其关系就清楚了。

具有super的类似语句有(13.1.8)。因为将直接父类的中心面板centerPanel放入当前对象中,所以,在方法add()前就省略了关键词this。

(3)关于变量作用域

与(2)有关的是变量centerPanel的作用域问题。注意,在例13-1程序LoginDemo1中,centerPanel是全局变量,参见语句(13.1.1)。设置为全局变量是与表示为(13.1.9)这个形式配合的。如果程序LoginDemo1.java在其构造方法中定义变量centerPanel,即它不是全局变量,则表示式(13.1.9)将找不到对象centerPanel。这就是变量的作用域问题,读者不妨试试。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈