java数据库课程设计__图书馆管理系统(4)

2019-01-26 12:55

下:

private static class PasswordModiAction extends AbstractAction { /** * */

private static final long serialVersionUID = 1L; PasswordModiAction() {

putValue(Action.NAME,\更改口令\);

putValue(Action.LONG_DESCRIPTION, \修改当前用户密码\);

putValue(Action.SHORT_DESCRIPTION, \更换口令\);//在“更改口令”提示中显示的文字

//putValue(Action.SMALL_ICON,CreatecdIcon.add(\

//将图标存储到动作对象中

//setEnabled(false);//使动作禁用 }

public void actionPerformed(ActionEvent e) {

if (!frames.containsKey(\更改密码\)||frames.get(\更改密码\).isClosed()) {

GengGaiMiMa iframe=new GengGaiMiMa();

}

frames.put(\更改密码\, iframe);

Library.addIFame(frames.get(\更改密码\)); } }

三:限制文本框长度类编写

在swing语言创建的窗体中,当JTextField组建创建时,可以指定文本框的宽度。但在JTextfield的构造器中设定的宽度并不是用户输入的字符个数上限,用户可以在文本框中输入一个更长的字符串,此时需要限制用户输入字符串的长度。创建此类的步骤如下:

1,。创建MyDocument.java类,此类继承PlainDocument类。关键代码如下: Public class Mydocument extends PlainDocument{ }

2.在Mydocument.java类中创建了两个构造函数,其中一个是又参数的,另一个是无参数的。关键代码如下:

Public Mydocument(int newMaxLength{ Super();

Maxlength=newMaxlengyh; }

Public MyDocument(){ This(10);

}

3.重载父类方法insertString(),在此方法中限定文本框允许输入字符串长度。关键代码如下:

public void insertString(int offset,String str,AttributeSet a) Throws BadLocationException{

If (getLength()+str.length()>maxLength){ return; }else{

super.insertString(offset , str,a); } }

4.在程序设计中,当需要限制用户输入字符串长度时,可以用如下代码 JTextfield textfield=new JTextfield(\请输入13位书号\Textfield.setDocument(new MyDocument(13));

四:描述组合框索引与内容类的编写

在程序编写的过程中,经常会遇到组合框组件的应用。又是要在窗体中的组合框中显示具体内容,通常需要在数据库中存储此组合框的索引值,这时便需要使用一种数据结构将组合框中的内容与索引值联系在一起

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 void 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;

import 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 < list.size(); i++) {

BookType booktype = (BookType) list.get(i);

Item item = new Item();

item.setId(booktype.getId());

item.setName(booktype.getTypeName()); map.put(item.getId(), item);

}

return map; } }

3.上述代码中用到了Dao.java中的selectBookCategory()方法,此方法用于查询图书类别相关信息,首先将数据库查询的相关信息放入javaBean中,然后将javaBean对象添加到List集合中,最终将结果以List形式返回,关键代码如下:

public static List selectBookCategory(String bookType) { List list=new ArrayList(); String sql = \days from tb_bookType typeName='\+bookType+\;

ResultSet rs = Dao.executeQuery(sql); try {

while (rs.next()) {

where

}

BookType type=new BookType();

type.setDays(rs.getString(\)); list.add(type); }

} catch (Exception e) { e.printStackTrace(); }

Dao.close(); return list;

4.在JLable上添加图片类的编写

为了美化窗体,通常需要在窗体上添加图片,关键代码如下: package com.wsy.util;

import java.net.URL;

import javax.swing.ImageIcon;

import com.wsy.Library;

public class CreatecdIcon {

public static ImageIcon add(String ImageName){

URL IconUrl = Library.class.getResource(\+ImageName); ImageIcon icon=new ImageIcon(IconUrl); return icon; } }

二:主窗体设计

主窗体的设计中,使用到JMenuBar类与JToolBar类来创建菜单栏与工具栏,菜单栏的创建比较简单,使用JMenuBar的构造函数初始化菜单栏即可。

例如:

JMenuBar menubar=new JMenuBar(); //创建菜单栏

frame.setJMenu=new JMenu(menuBar); //将菜单栏放入顶层框架

JMenu editMenu=new JMenu(\图书类别管理); //在菜单栏中创建顶层菜单 menuBar.add(editzMenu); //将顶层菜单栏添加到菜单栏中

JMenuItem exit=new JMenuItem(\退出\在菜单栏中创建菜单项 editMenu.add(exit); //将菜单项添加到顶层菜单中 editMenu.addSeperator(); //添加分隔符

JMenu.bookTypeAdd=new JMenu(\图书添加\创建子菜单

editMenu.add(bookTypeAdd);//在顶层菜单中添加子菜单 在主窗体中工具栏的创建也非常简单。工具栏为系统提供了迅速访问常用命令的一系列按钮。可以使用如下代码创建工具栏:

JToolBar bar=new JToolBar();

完成主窗体中工具栏的创建后同样需要添加MenuActions类对象实现工具栏事件,由于需要在工具栏中添加图标,所以将动作对象添加到按钮组件中,然后为按钮设置图标。例如:

//将图书信息修改对象附加给按钮组件 JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);

//创建图标方法

ImageIcon bookmodiicon=CreatecdIcon.add(\bookModiAndDelButton,setIcon(bookmodiicon);//为按钮设置图标 BookModiAndDelButton.setHideActionText(true);//使按钮文字隐藏 最后将按钮添加到工具栏中:

toolBar.add(bookModiAndDelButton);

主窗体的实现过程:

1:创建Library类,在它的构造函数中设置主窗体相关属性,如窗体大小,窗体标题等相关属性,还可以为窗体设置背景图片,并调用创建菜单栏与工具栏的方法,在主窗体中创建菜单栏与工具栏关键代码如下:

public Library() { super();

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

//setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); setLocationByPlatform(true); setSize(800, 600);

setTitle(\图书馆管理系统\);

JMenuBar menuBar = createMenu(); // 调用创建菜单栏的方法 setJMenuBar(menuBar);

JToolBar toolBar = createToolBar(); // 调用创建工具栏的方法 getContentPane().add(toolBar, BorderLayout.NORTH); final JLabel label = new JLabel(); label.setBounds(0, 0, 0, 0); label.setIcon(null); // 窗体背景

DESKTOP_PANE.addComponentListener(new ComponentAdapter() { public void componentResized(final ComponentEvent e) { Dimension size = e.getComponent().getSize(); label.setSize(e.getComponent().getSize());

label.setText(\width=\ + size.width + \height=\ + size.height + \

+ this.getClass().getResource(\)


java数据库课程设计__图书馆管理系统(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:C语言缺陷与陷阱(笔记)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: