用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月 忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

图书管理系统借阅界面

2018-04-11 作者:云代码会员 举报

[java]代码库

package com.library.view;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import com.libraty.entity.Users;

public class UserMainView extends JFrame{
	private static final long serialVersionUID = 1L;
	/** 窗体分析过后,分为三大部分:panel_welcome   panel_desptop   panel_buttons */
	
	private JDesktopPane panel_desktop; /** 欢迎面板  */
	
	private JPanel panel_welcome;/** 桌面面板  */
	private JPanel panel_buttons;/** 按钮组面板  */
	private JPanel panel_main;/** 主面板 */
	
	private JLabel lb_welcome;/** 欢迎面板  */
	private JLabel lb_img;/** 图片标签  */
	
	private JButton btn_query_book;/** 图书查询按钮  */
	private JButton btn_query_borrow_record;/** 借阅记录查询按钮  */
	private JButton btn_exit;/** 退出按钮  */
	
	private Users user=null;/** 保存用户信息的属性 */
	
	private void init() /** 初始化各个组件 */
	{
		this.btn_exit=new JButton("退出窗口"); /** 退出窗口按钮 */
		this.btn_query_book=new JButton("图书查询"); /** 图书查询按钮 */
		this.btn_query_borrow_record=new JButton("图书借阅记录查询"); /** 图书借阅记录查询 */
		
		this.lb_img=new JLabel(new ImageIcon(ClassLoader.getSystemResource("images/print6.jpg")));
		this.lb_img.setBounds(0, 0, 600, 540); /** 坐标 宽 长 */
		
		this.lb_welcome=new JLabel();
		lb_welcome.setText("欢   迎  使   用   图   书   借    阅   管   理   系    统"); /** 设置文本 */
		lb_welcome.setFont(new Font("宋体",Font.BOLD,13)); /** 设置字体 */
		lb_welcome.setForeground(Color.BLUE); /** 颜色 */
		
		this.panel_buttons=new JPanel(new GridLayout(7,1,0,30)); /** 网格布局 */
		
		/** 
		 * 为按钮组面板创建包含主题的边框,同时边框具有浮雕效果
		 * 为了创建指定的边框效果,那么先创建标题边框,可以设置标题,然后这个方法中的第一个参数可以另外一种边框样式,我们这里是浮雕样式,面板有突起效果
		 */
		panel_buttons.setBorder(BorderFactory.createTitledBorder(BorderFactory.createRaisedBevelBorder(),"快捷功能区")); /** 浮雕效果 */
		
		this.panel_desktop=new JDesktopPane();
		this.panel_welcome=new JPanel();
		this.panel_main=new JPanel(new BorderLayout());
		
		/** 拼装 */
		panel_welcome.add(lb_welcome);
		panel_desktop.add(lb_img);
		
		panel_buttons.add(new JLabel());
		panel_buttons.add(new JLabel());
		panel_buttons.add(btn_query_book);
		panel_buttons.add(btn_query_borrow_record);
		panel_buttons.add(btn_exit);
		panel_buttons.add(new JLabel());
		panel_buttons.add(new JLabel());
		
		panel_main.add(panel_welcome,BorderLayout.NORTH);
		panel_main.add(panel_desktop,BorderLayout.CENTER);
		panel_main.add(panel_buttons,BorderLayout.EAST);
		
		this.getContentPane().add(panel_main); /** 实例化组件 */
		
		this.setTitle("图书借阅管理系统"); /** 窗体标题 */
		this.setSize(700, 600); /** 设置窗体大小 */
		this.setLocationRelativeTo(null); /** 居中显示 */
		this.setResizable(false); /** 不可放大 */
		this.setDefaultCloseOperation(EXIT_ON_CLOSE); /** 设置点击关闭程序退出 */
		this.setVisible(true);
		
		EventQueue.invokeLater(()->{new Thread(new ActionThread()).start();});  /** 让标语滚动起来 */
/**		new Thread(new DynamicThread()).start(); */
	}
	
	
	public UserMainView()
	{
		init();/** 放最上面,否则无法程序运行 */
		registerAction();
	}
	public UserMainView(Users user)
	{
		init();
		this.user=user;
		registerAction();
	}
	
	/**
	 * 为了实现欢迎标语滚动的效果创建一个内部类
	 *  awt组件默认使用单线程,如果希望开启多线程,需要采用这种方法,就是将线程放入队列中*/
	private class ActionThread implements Runnable
	{
		@Override
		public void run() 
		{
			while(true)
			{
				for(int i = 800; i <- 700; i--)
				{
					lb_welcome.setLocation(i, 5);/** 滚动效果实现原理,不停的减少横坐标,纵坐标不变 */
					try {
						Thread.sleep(15);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		}
		
	} 
	/** 给所有按钮注册侦听器 */
	private void registerAction()
	{
		/** 给图书查询按钮注册时间处理器*/
		btn_query_book.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				/** 实例化内嵌窗体*/
				UserBookInquiry ubi=new UserBookInquiry(user);
				/** 将窗体添加至桌面 */
				panel_desktop.add(ubi);
				/** 让窗体显示在最前面 */
				ubi.toFront();
			}
		});
		
		/** 图书借阅查询 */
		btn_query_borrow_record.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				
				
			}
		});
		
		btn_exit.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				dispose();
			}
		});
		
	}
	
//	private void registerListener() /** 给所有按钮注册侦听器 */
//	{
//		/**1.先给注册按钮注册侦听器*/
//		btn_query_book.addActionListener((ActionEvent e)->
//		{
//			UserBookInquiry ubi=new UserBookInquiry();
//			panel_desktop.add(ubi);
//			ubi.toFront();
//		});
//	}

}


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。