收藏 分享(赏)

java数据库课程设计 图书馆管理系统.doc

上传人:tangtianxu1 文档编号:3108329 上传时间:2018-10-03 格式:DOC 页数:186 大小:2.75MB
下载 相关 举报
java数据库课程设计  图书馆管理系统.doc_第1页
第1页 / 共186页
java数据库课程设计  图书馆管理系统.doc_第2页
第2页 / 共186页
java数据库课程设计  图书馆管理系统.doc_第3页
第3页 / 共186页
java数据库课程设计  图书馆管理系统.doc_第4页
第4页 / 共186页
java数据库课程设计  图书馆管理系统.doc_第5页
第5页 / 共186页
点击查看更多>>
资源描述

1、西安郵電大学数据库课程设计报告题目:图书管理系统 院系名称:计算机学院专业名称:计算机科学与技术班 级:计科 1006学生姓名:郑波学号(8 位):04101198指导教师:乔平安设计起止时间:2012 年 10 月 8 日2012 年 10 月 19 日一 问题的提出1、开发背景很多高校都拥有图书馆,图书馆可以为全校师生提供一个阅读,学习的空间。近年来,随着生源不断增大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书馆各种信息成倍增加。面对如此庞大的信息量,校领导决定使用一套合理,有效,规范,实用的图书馆管理系统,对校内图书资料进行统一,集中的管理。本系统将会涉及到图书馆日常管理

2、工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。在对本系统的具体开发过程当中,将采用 Java 语言进行开发,以 Sql Server 实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。本系统的设计是在 Windows 7 简体中文版操作系统环境下,使用 Java 中文版开发成功的。数据库是 MIS 中的重要支持技术,在 MIS 开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较

3、多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统所使用的后台数据库是 MS SQL2005 数据库。本系统选用的开发语言介绍如下:选择了美国 SUN 公司推出的 Java 开发工具。Java 是第一个全面支持面向对象程序设计的数据库语言工具。Java 的主要特点有:1、语言是简单的、小型的、结构中性的2、强大的数据库开发功能3、扩大了对 SQL 语言的支持4、是面向对象的、高性能的、多线程的5、是分布式的、面向网络6、具有平台无关性7、语言具有可移植性、是动态的2、需求分析图书馆管理系统是图书馆管理工作中补课缺少的部分,对于图书馆的管理者和

4、使用者来说都非常重要,但长期以来,人们使用传统的手工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐,效率相当低。而一个成功的图书馆管理系统应提供快速的图书馆信息检索功能,快捷的图书借阅,归还流程,为管理者提供充足的信息和快捷的数据处理手段。从读者与图书馆管理员的角度出发,本着以读者借书,还书快捷,方便的原则,本系统有一下特点:具有良好的系统性能,友好的用户界面。:较高的处理效率,便于使用和维护。:采用成熟的技术开发,使系统具有较高的技术水平和较长的生命周期。:系统尽可能简化图书馆管理员的重复工作,提高工作效率。:简化数据查询,统计难度。二:系统设计一:系统目标根据以上的需

5、求分析及用户的沟通,该系统应达到以下目标:界面设计友好,美观。:数据存储安全,可靠。:信息分类清晰,准确。:强大的查询功能,保证数据查询的灵活性。:操作简单易用,界面清晰大方。:系统安全稳定。:开发技术先进,功能完备,扩展性强。:占用资源少,对硬件要求低。:提供灵活,方便的权限设置功能,使整个系统的管理分工明确。二:系统功能结构图书馆管理系统分为四大功能模块,分为基础数据维护,图书借阅管理,新书订购功能,系统维护。本系统各个部分及其包括的功能模块如图:图书馆管理基础数据维护 图书借阅管理 新书订购管理 系统维护读者信息管理图书信息管理图书类别管理图书借书管理图书还书管理图书查询新书订购验收新书

6、用户管理密码管理三:系统预览图书馆管理系统有多多个程序界面组成,以下是几个典型界面该界面用于将读者相关信息添加至数据库表中。该界面用于展示读者相关信息,并且提供了参与删除读者信息。该界面主要实现新书订购功能。该界面主要实现新书验收功能。四:文件组织结构图书馆管理系统系统文件夹组织结构图书馆管理系统管理员登陆管理员基础数据维护读者信息管理图书信息管理读者添加读者修改与删除读书类别添加类别修改图书添加图书修改图书查询读者相关信息图书类别相关信息图书相关信息图书借阅 图书归还读者新书订购管理系统维护管理新书订购验收新书更改密码用户管理订购相关信息用户添加用户修改与删除操作员相关信息图书类别管理四:数

7、据库设计一:数据库概要说明SQL Server 2005 具有很强的完整性与课伸缩性,具有较低的价格与较高的性能。数据库的树形结构图如图所示:二:数据库概念设计根据以上对系统的需求分析,系统设计,本系统使用的数据库实体分别为图书信息实体,图书分类实体,图书订购实体,读者信息实体,操作员信息实体,图书借阅信息实体,库存信息实体1:图书信息实体图书信息实体包括图书编号,类别编号,书名,译者,出版社,价格,出版时间等属性。图书信息实体的 E-R 图如图所示。2:读者信息实体读者信息实体包括条形码,姓名,性别,年龄,电话,押金,生日,职业,证件类型,办证日期,最大借书量,证件号码等属性,E-R 图如图

8、所示。图书图书编号 类别编号 书名 作者价格 出版时间 出版社 译者读者姓名 性别 年龄 电话 押金 生日条形码 职业证件号码 最大借书量 办证日期 证件类型3:图书借阅信息实体图书借阅信息实体包括编号,图书编号,读者编号,操作员编号,是否归还,借阅日期,归还日期等属性。E-R 图如图所示。4:图书分类实体图书分类实体包括编号,类别名称等属性,E-R 图如图所示。5:图书订购实体图书订购实体主要包括图书编号,订购日期,订购数量,操作员,是否验收和折扣等属性。E-R 图如图所示。图书借阅编号 读者编号 操作员编号 图书编号是否归还 归还日期借阅日期图书分类编号 类别名称可借天数 罚款金额6:操作

9、员信息实体操作员信息实体主要包括编号,姓名,性别,年龄,身份证号,工作日期,电话,是否为管理员和密码等属性。E-R 图如图所示。7:库存信息实体库存信息实体主要包括编号,库存数量等属性。E-R 图如图所示。图书订购订购日期 图书编号 订购数量操作员 是否验收 折扣操作员姓名 性别 年龄 电话 编号身份证号 是否为管理员 工作日期 密码五:数据库逻辑设计1:tb_bookInfo(图书信息表)图书信息表包括图书编号,图书类别编号,书名,作者,译者,出版社,出版时间和价格等信息。2.tb_bookType(图书分类表)图书分类表包括编号,类别名称,可借天数和罚款金额等信息。3.tb_borrow(

10、图书借阅表)图书借阅表包括,图书编号,读者编号,操作员编号,是否归还,借阅日期,归还日期等信息。库存编号 库存数量4.tb_operator(操作员信息表)操作员信息表主要包括编号,姓名,性别,年龄,身份证号,工作日期,电话,是否为管理员和密码等信息。5.tb_order(图书订购表 )图书订购表主要包括图书编号,订购日期,订购数量,操作员,是否验收和折扣等信息。图书订购表以图书编号与图书信息表建立了关系。6.tb_reader(读者信息表)读者信息表包括条形码,姓名,性别,年龄,电话,押金,生日,职业,证件类型,办证日期,最大借书数量,证件号码等信息。7.tb_stockpile(库存信息表

11、)库存信息表主要包括编号,库存数量等信息。库存信息表以库存编号与图书信息表建立了关系。六:数据库建模本系统数据库采用 Power Designer 软件建立数据库中各个表的关系,进行数据库的建模,以连接各个数据库,使数据库中各个实体间建立联系。数据库中各个表间关系如图所示。七:详细设计一:公共模块设计1:数据库连接及操作类的编写数据库连接及操作类通常包括连接数据库的方法 getConnection,执行查询语句的方法 executeQuery(),执行更新操作的方法 executeUpdate(),关闭数据库连接的方法 close()1:指定类 Dao.java 保存的包,并导入所需的类包。关

12、键代码如下:package com.wsy.dao; /指定类的包名称/导入进行数据库连接时所使用的java.sql.Connection类import java.sql.Connection;/导入进行数据库连接时所使用的java.sql.DriverManager类import java.sql.DriverManager;/导入进行数据库表查询时所使用的java.sql.Resultset类import java.sql.ResultSet;/导入进行数据库操作时捕捉异常使用的java.sql.SQLException类import java.sql.SQLException;2:在 D

13、ao.java类的构造方法中创建数据库连接操作。在此类中首先定义数据库连接驱动包名,数据库连接路径,数据库连接用户名,密码等静态变量,然后在构造函数中实现数据库连接操作。在数据库连接代码中需要添加try.catch关键字,捕捉数据库连接时可能抛出的异常。关键代买如下:/定义驱动报名称protected static String dbClassName = “com.microsoft.sqlserver.jdbc.SQLServerDriver“;protected static String dbUrl = “jdbc:sqlserver:/localhost:1433;“+ “Datab

14、aseName=db_library;SelectMethod=Cursor“;/定义数据库连接路径protected static String dbUser = “shining“;/数据库连接用户名protected static String dbPwd = “1“;/数据库连接密码protected static String second = null;private static Connection conn = null;/定义一个数据库连接private Dao() try /捕捉数据库连接异常if (conn = null) /如果连接为空Class.forName(db

15、ClassName).newInstance(); /装载SQl Server驱动/获取数据库连接conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);Else /如果连接不为空return; catch (Exception ee) /返回ee.printStackTrace(); /捕捉数据库连接异常3.创建执行查询语句的方法executeQuery,其返回值为 ResultSet结果集。首先需要初始化Dao对象,调用构造函数,从而获取数据库连接。executeQuery方法代码如下:private static ResultSe

16、t executeQuery(String sql) try if(conn=null)new Dao();return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); catch (SQLException e) e.printStackTrace();return null; finally 4.创建执行更新操作的方法executeUpdate,它的返回值为int类型的整数,此返回值代表数据更新的操作是否成功,返回1代表称,不成功则返回-1

17、,其关键代码如下:private static int executeUpdate(String sql) try if(conn=null)new Dao();return conn.createStatement().executeUpdate(sql); catch (SQLException e) System.out.println(e.getMessage();/if(e.getMessage().equals(“MicrosoftSQLServer 2000 Driver for JDBCSQLServerDELETE 语句与 COLUMN REFERENCE 约束 FK_TB_

18、BORRO_REFERENCE_TB_BOOKI 冲突。该冲突发生于数据库 db_library,表 tb_borrow, column bookISBN。“)return -1; finally 5.为了避免运行程序时资源浪费,优化项目的运行速度,需要在完成数据库操作后,关闭数据库连接,其关键代码如下:public static void close() try conn.close(); catch (SQLException e) e.printStackTrace();finallyconn = null;二:MenuActions类的编写通常激活同一个命令有多种方式,用户可以通过工具

19、栏中的按钮或菜单选择特定的功能。在本系统中命令就是弹出内部窗体Swing包提供了一个非常有用的机制来封装命令,并将其连接到多个事件源,这种机制就是Action借口。Action接口有如下方法:Public void actionPerformed(ActionEvent e)Public Object getValue(String key)Public void putValue(String key,Object value)Public boolean isEnabled()Public void setEnabled(boolean b)Pubilc void addPropertyC

20、hangeListener(PropertyChangeListener listener)Pinlic void removePropertyChangeListener(PropertyListener listener)在actinPerformed()方法执行“更改密码”窗体的弹出类中操作,关键代码如下:private static class PasswordModiAction extends AbstractAction /* */private static final long serialVersionUID = 1L;PasswordModiAction() putVal

21、ue(Action.NAME,“更改口令“);putValue(Action.LONG_DESCRIPTION, “修改当前用户密码“ );putValue(Action.SHORT_DESCRIPTION, “更换口令“ );/在“更改口令”提示中显示的文字/putValue(Action.SMALL_ICON,CreatecdIcon.add(“bookAddtb.jpg“);/将图标存储到 动作对象中/setEnabled(false);/使动作禁用public void actionPerformed(ActionEvent e) if (!frames.containsKey(“更改

22、密码“ )|frames.get(“更改密码“).isClosed() GengGaiMiMa iframe=new GengGaiMiMa();frames.put(“更改密码“, iframe);Library.addIFame(frames.get(“更改密码“);三:限制文本框长度类编写在swing语言创建的窗体中,当JTextField组建创建时,可以指定文本框的宽度。但在JTextfield的构造器中设定的宽度并不是用户输入的字符个数上限,用户可以在文本框中输入一个更长的字符串,此时需要限制用户输入字符串的长度。创建此类的步骤如下:1,。创建MyDocument.java类,此类继

23、承PlainDocument类。关键代码如下:Public class Mydocument extends PlainDocument2.在Mydocument.java 类中创建了两个构造函数,其中一个是又参数的,另一个是无参数的。关键代码如下:Public Mydocument(int newMaxLengthSuper();Maxlength=newMaxlengyh;Public MyDocument()This(10);3.重载父类方法insertString(),在此方法中限定文本框允许输入字符串长度。关键代码如下:public void insertString(int off

24、set,String str,AttributeSet a)Throws BadLocationExceptionIf (getLength()+str.length()maxLength)return;elsesuper.insertString(offset , str,a);4.在程序设计中,当需要限制用户输入字符串长度时,可以用如下代码JTextfield textfield=new JTextfield(“请输入13位书号“,13);Textfield.setDocument(new MyDocument(13);四:描述组合框索引与内容类的编写在程序编写的过程中,经常会遇到组合框组

25、件的应用。又是要在窗体中的组合框中显示具体内容,通常需要在数据库中存储此组合框的索引值,这时便需要使用一种数据结构将组合框中的内容与索引值联系在一起1.创建组合框组件的索引值与其对应的内容Item.java类,这个类中不仅包含代表组合框索引的成员变量id和代表组合框内容的成员变量name,还包括两个成员变量的setXXX(),getXXX()方法。关键代码如下:package com.wsy.JComPz;public class Item public String id;public String name;public String getId() return id;public vo

26、id setId(String id) this.id = id;public String getName() return name;public void setName(String name) this.name = name;public String toString() return getName();2.创建MapPz.java类,使用Map关联组合框的索引与组合框的具体内容。关键代码如下:package com.wsy.JComPz;import java.util.HashMap;import java.util.List;import java.util.Map;im

27、port javax.swing.JComboBox;import com.wsy.dao.Dao;import com.wsy.model.BookType;public class MapPz static Map map = new HashMap();public static Map getMap() List list = Dao.selectBookCategory();for (int i = 0; i “););DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE);getContentPane().add(DESKTOP_

28、PANE);2:编写创建菜单栏方法,可以初始化JMenuBar类对象创建顶层菜单,并在顶层菜单上添加相关菜单项与子菜单,然后为菜单栏添加图标,为菜单栏添加图标可以使用JMenu类中的setIcon()方法进行添加。关键代码如下:private JMenuBar createMenu() / 创建菜单栏的方法JMenuBar menuBar = new JMenuBar();JMenu bookOrderMenu = new JMenu(); / 初始化新书订购管理菜单bookOrderMenu.setIcon(CreatecdIcon.add(“xsdgcd.jpg“);bookOrderMe

29、nu.add(MenuActions.NEWBOOK_ORDER);bookOrderMenu.add(MenuActions.NEWBOOK_CHECK_ACCEPT);JMenu baseMenu = new JMenu();/ 初始化基础数据维护菜单baseMenu.setIcon(CreatecdIcon.add(“jcsjcd.jpg“);JMenu readerManagerMItem = new JMenu(“读者信息管理“);readerManagerMItem.add(MenuActions.READER_ADD);readerManagerMItem.add(MenuAct

30、ions.READER_MODIFY);JMenu bookTypeManageMItem = new JMenu(“图书类别管理“);bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD);bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY);JMenu menu = new JMenu(“图书信息管理“);menu.add(MenuActions.BOOK_ADD);menu.add(MenuActions.BOOK_MODIFY);baseMenu.add(readerManagerMItem

31、);baseMenu.add(bookTypeManageMItem);baseMenu.add(menu);baseMenu.addSeparator();baseMenu.add(MenuActions.EXIT);JMenu borrowManageMenu = new JMenu(); / 借阅管理borrowManageMenu.setIcon(CreatecdIcon.add(“jyglcd.jpg“);borrowManageMenu.add(MenuActions.BORROW); / 借阅borrowManageMenu.add(MenuActions.GIVE_BACK);

32、 / 归还borrowManageMenu.add(MenuActions.BOOK_SEARCH); / 搜索JMenu sysManageMenu = new JMenu(); / 系统维护sysManageMenu.setIcon(CreatecdIcon.add(“jcwhcd.jpg“);JMenu userManageMItem = new JMenu(“用户 管理“); / 用户管理userManageMItem.add(MenuActions.USER_ADD);userManageMItem.add(MenuActions.USER_MODIFY);sysManageMenu

33、.add(MenuActions.MODIFY_PASSWORD);sysManageMenu.add(userManageMItem);menuBar.add(baseMenu); / 添加基础数据维护菜单到菜单栏menuBar.add(bookOrderMenu); / 添加新书订购管理菜单到菜单栏menuBar.add(borrowManageMenu); / 添加借 阅管理菜单到菜单栏menuBar.add(sysManageMenu); / 添加系统维护菜单到菜单栏return menuBar;3:编写创建工具栏的方法,创建工具栏可以使用JToolBar类,创建工具栏后将所有的图标添

34、加到工具栏中,可以为每个图标添加提示信息。由于在创建MenuActions类时已经为每个内部窗体动作添加了提示信息,关键代码如下:/* 创建工具 栏* * return JToolBar*/private JToolBar createToolBar() / 创建工具栏的方法JToolBar toolBar = new JToolBar();toolBar.setFloatable(false);toolBar.setBorder(new BevelBorder(BevelBorder.RAISED);JButton bookAddButton=new JButton(MenuActions.

35、BOOK_ADD);/ImageIcon icon=CreatecdIcon.add(“bookAdd.bmp“);/创建图标方法ImageIcon icon=new ImageIcon(Library.class.getResource(“/bookAddtb.jpg“);/添加菜单栏图标bookAddButton.setIcon(icon);bookAddButton.setHideActionText(true);/bookAddButton.setToolTipText(“fjdkjfk“);/图片上提示字toolBar.add(bookAddButton);/toolBar.add(

36、MenuActions.BOOK_MODIFY);/在工具 栏中添加图书 修改与删除图标JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);ImageIcon bookmodiicon=CreatecdIcon.add(“bookModiAndDeltb.jpg“);/创建图标方法bookModiAndDelButton.setIcon(bookmodiicon);bookModiAndDelButton.setHideActionText(true);toolBar.add(bookModiAndDelButto

37、n);JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);ImageIcon bookTypeAddicon=CreatecdIcon.add(“bookTypeAddtb.jpg“);/创建图标方法bookTypeAddButton.setIcon(bookTypeAddicon);bookTypeAddButton.setHideActionText(true);toolBar.add(bookTypeAddButton);JButton bookBorrowButton=new JButton(MenuActio

38、ns.BORROW);ImageIcon bookBorrowicon=CreatecdIcon.add(“bookBorrowtb.jpg“);/创建图标方法bookBorrowButton.setIcon(bookBorrowicon);bookBorrowButton.setHideActionText(true);toolBar.add(bookBorrowButton);JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER);ImageIcon bookOrdericon=CreatecdIcon.add(“boo

39、kOrdertb.jpg“);/创建图标方法bookOrderButton.setIcon(bookOrdericon);bookOrderButton.setHideActionText(true);toolBar.add(bookOrderButton);JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK_ACCEPT);ImageIcon bookCheckicon=CreatecdIcon.add(“newbookChecktb.jpg“);/创建图标方法bookCheckButton.setIcon(bookCh

40、eckicon);bookCheckButton.setHideActionText(true);toolBar.add(bookCheckButton);JButton readerAddButton=new JButton(MenuActions.READER_ADD);ImageIcon readerAddicon=CreatecdIcon.add(“readerAddtb.jpg“);/创建图标方法readerAddButton.setIcon(readerAddicon);readerAddButton.setHideActionText(true);toolBar.add(read

41、erAddButton);JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY);ImageIcon readerModiAndDelicon=CreatecdIcon.add(“readerModiAndDeltb.jpg“);/创建图标方法readerModiAndDelButton.setIcon(readerModiAndDelicon);readerModiAndDelButton.setHideActionText(true);toolBar.add(readerModiAndDelButton);

42、JButton ExitButton=new JButton(MenuActions.EXIT);ImageIcon Exiticon=CreatecdIcon.add(“exittb.jpg“);/创建图标方法ExitButton.setIcon(Exiticon);ExitButton.setHideActionText(true);toolBar.add(ExitButton);return toolBar;4:最后在Library.java 类中的主函数中调用登陆窗体,如果登入成功,初始化Library.java对象,如果登入失败,则弹出提示对话框,关键代码如下:Public stat

43、ic void main(String args)Try UManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName();catch (Exception ex) ex.printStackTrace();登陆模块设计登陆模块式图书馆管理系统的入口,在运行本系统后,首先进入的便是登陆窗体。在该窗体中,系统管理员可以通过输入正确的管理员名称与密码登陆到系统,当用户没有输入管理员的名称或密码时,系统将会弹出相应地提示信息。登陆模块的运行效果如图:在本系统中,登陆模块窗体继承了JFrame类。在设计登陆窗体前,需要初始化JPane

44、l组件,然后设置JPanel的布局。一句登陆模块的整体布局,在登陆窗体中使用了BorderLayout布局管理器。BorderLayout 布局管理器是JFrame的默认布局管理器,它可以让程序员选择每个组件的摆放位置,例如:Class Mypanel extendsJPanelsetLayout(new BorderLayout();add(button,BorderLayout.SOUTH);中部的面板使用GridLayout布局管理器。GridLayout 布局管理器按照行和列来排行所以的组件例如:Panel.setLayout(new GridLayout(5,4);/在初始化时分别指

45、定网格的行数和列数在南部的面板中使用FlowLayout布局管理器。中部面板放置用户名标签,用户名文本框与密码标签,密码文本框,其中用户名文本框使用JTextField组件,密码文本框使用JPasswordField组件,可以在初始化文本框指定时指定文本框时指定文本框的列数与文本框的初始值。例如:JTextField textField=new JTextField(“Default input“,20)/指定文本框列数和初始值JPasswordField password=new JPasswordFiled(20) ;/初始化密码框为了增加登陆窗体的美观,将密码框的回显字符设置为“*“,可

46、以用如下代码进行设置:password.setEchochar(*);当窗体设计完成后,需要进行管理员登陆验证操作,这时需要为“登陆“ 按钮添加按钮监听事件。可以讲按钮监听事件写入内部类中,它实现ActionListener 借口,在内部类中重写actionPerformed()方法,实现登陆验证操作。登陆模块实现过程1.首先在BookLoginFrame类构造函数中设计登陆窗口的整体布局,包括添加窗体关闭按钮,最小化按钮,设置窗体大小等相关属性。关键代码如下:public BookLoginIFrame() super();final BorderLayout borderLayout =

47、new BorderLayout();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);borderLayout.setVgap(10);getContentPane().setLayout(borderLayout);setTitle(“图书馆 管理系统登录“ );setBounds(100, 100, 285, 194);final JPanel panel = new JPanel();panel.setLayout(new BorderLayout();panel.setBorder(new EmptyBorder(0, 0, 0, 0);g

48、etContentPane().add(panel);final JPanel panel_2 = new JPanel();final GridLayout gridLayout = new GridLayout(0, 2);gridLayout.setHgap(5);gridLayout.setVgap(20);panel_2.setLayout(gridLayout);panel.add(panel_2);final JLabel label = new JLabel();label.setHorizontalAlignment(SwingConstants.CENTER);label.

49、setPreferredSize(new Dimension(0, 0);label.setMinimumSize(new Dimension(0, 0);panel_2.add(label);label.setText(“用 户 名:“ );username = new JTextField(20);username.setPreferredSize(new Dimension(0, 0);panel_2.add(username);final JLabel label_1 = new JLabel();label_1.setHorizontalAlignment(SwingConstants.CENTER);panel_2.add(label_1);label_1.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报