小棒组合

小棒组合第十四周项目总结

小棒组合第十四周项目总结

项目名称

  • 图书管理系统

本周项目内容

  • 登录模块设计
  • 图书信息管理

项目进展

登录模块设计

  • 登录模块实现过程
  1. BookLoginIFrame类构造整体布局,添加按钮
    
    	public BookLoginIFrame() {
    		super();
    		final BorderLayout borderLayout = new BorderLayout();
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		borderLayout.setVgap(10);
    		getContentPane().setLayout(borderLayout);
    		setTitle("图书馆管理系统登录");
    		setBounds(100, 100, 285, 194);
    
    		final JPanel panel_2 = new JPanel();
    		final GridLayout gridLayout = new GridLayout(0, 2);
    		gridLayout.setHgap(5);
    		gridLayout.setVgap(20);
    		panel_2.setLayout(gridLayout);
    		
    		final JLabel label = new JLabel();
    		label.setHorizontalAlignment(SwingConstants.CENTER);
    		label.setPreferredSize(new Dimension(0, 0));
    		label.setMinimumSize(new Dimension(0, 0));
    		panel_2.add(label);
    		label.setText("用  户  名:");
    
    		username = new JTextField(20);
    		panel_2.add(username);
    
    		final JLabel label_1 = new JLabel();
    		label_1.setHorizontalAlignment(SwingConstants.CENTER);
    		panel_2.add(label_1);
    		label_1.setText("密  码:");
    
    		password = new JPasswordField(20);
    		password.setEchoChar('*');//设置密码框的回显字符
    		panel_2.add(password);
    
    		final JPanel panel_1 = new JPanel();
    		panel.add(panel_1, BorderLayout.SOUTH);
    
    		login=new JButton();
    		login.addActionListener(new BookLoginAction());
    		
    		
    		login.setText("登录");
    		panel_1.add(login);
    		reset=new JButton();
    		reset.addActionListener(new BookResetAction());
    		
    		reset.setText("重置");
    		panel_1.add(reset);
    
    		final JLabel tupianLabel = new JLabel();
    		ImageIcon loginIcon=CreatecdIcon.add("login.jpg");
    		tupianLabel.setIcon(loginIcon);
    		
    		setVisible(true);
    		
    	}
    
    
    

2.创建JavaBean类命名成员变量
```
public class Operater {
private String id;
private String name;

	private String grade;
	private String password;
	public String getGrade() {
		return grade;
	}
	public void setGrade(String grade) {
		this.grade = grade;
	}
	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 getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}

```
  1. BookLoginlIFrame中对Operater变量创建set()get()方法
  2. 监听窗口中的“登录”与“重置”按钮。待用户输入用户名和密码后,调用Dao方法
  • user = Dao.check(username.getText(),password.getText())
  1. 登录成功

图书信息管理模块设计

  • 图书信息管理模块主要包括图书信息添加、图书信息修改两个功能

图书信息添加

  1. 创建图书信息添加窗体
  •   publisher = new JComboBox();
      String[]array=new String[]{"***出版社","**信息出版社","**大型出版社","***小型出版社"};
      publisher.setModel(new DefaultComboBoxModel(array));
      //初始化日期格式
      SimpleDateFormat myfmt=new SimpleDateFormat("yyyy-MM-dd");
      pubDate= new JFormattedTextField(myfmt.getDateInstance());
      pubDate.setValue(new java.util.Date());
      price=   new   JTextField();
      price.setDocument(new MyDocument(5));
      price.addKeyListener(new NumberListener());
      buttonadd= new JButton();//添加监听按钮
      buttonadd.addActionListener(new addBookActionListener());
      //初始化背景
      ImageIcon bookAddIcon=CreatecdIcon.add("newBookorderImg.jpg");
      label_5.setIcon(bookAddIcon);
      		
      setVisible(true);											// 显示窗体可关闭---必须在添加所有控件之后执行该语句
      }
    
  1. 在图书信息添加窗体中添加按钮监听事件,调用Dao类编辑actionPerformed()方法
  2. 控制图书条形码文本框只能输入数字字符串的键盘监听,在BookAddIFrameKeyTyped()方法
  3. 监听“关闭”按钮

图书信息修改

  1. 设置布局
public BookModiAndDelIFrame() {
		super();
		
		final JButton button = new JButton();
		button.addActionListener(new addBookActionListener());
		final JButton button_1 = new JButton();
		button_1.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				doDefaultCloseAction();
			}
		});
		final JLabel headLogo = new JLabel();
		ImageIcon bookModiAndDelIcon=CreatecdIcon.add("bookmodify.jpg");
		headLogo.setIcon(bookModiAndDelIcon);
		
		Object[][] results=getFileStates(Dao.selectBookInfo());
		columnNames = new String[]{"图书编号", "图书类别", "图书名称", "作者", "译者", "出版商", "出版日期",
				"价格"};
		table = new JTable(results,columnNames);
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		
		//鼠标单击表格中的内容产生事件,将表格中的内容放入文本框中
		table.addMouseListener(new TableListener());

		setVisible(true);
	}   
  	
  1. 初始化窗体表格组建
  2. 监听“修改”按钮添加按钮监听事件

与计划相符情况

项目遇到瓶颈,数据库几乎只知皮毛的我们无法在窗体的基础上完美衔接。

成员贡献

  • 20145337马 月 调试图书信息管理模块代码 撰写博客
  • 20145329吉东云 调试登录模块代码
  • 20145308刘昊阳 学习相关资料

工程截图


代码托管截图

总结

  • 项目进展到后期遇到的重重困难,虽然这两部分并没有完全实现,但我们会努力在项目结束前解决问题,继续努力的!

posted on 2016-06-05 23:44  小棒组合  阅读(154)  评论(0编辑  收藏  举报

导航