⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 librarysystem.java

📁 采用GUI格式调用的库函数直接写的源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.sql.*;
import java.util.*;
import java.text.*;
import java.io.*;
import java.awt.PrintJob.*;		//For Printing the Records.
import javax.swing.plaf.metal.*;	//For Change Look & Feel and Themes Options.

public class LibrarySystem extends JFrame implements ActionListener, ItemListener {

	//Main Place on Form where All Child Forms will Shown.

	private JDesktopPane desktop = new JDesktopPane ();

	//For Program's MenuBar.

	private JMenuBar bar;

	//All the Main Menu of the Program.

	private JMenu mnuFile, mnuEdit, mnuView, mnuOpt, mnuWin, mnuHelp;

	//All the MenuItem Options of Program.

	private JMenuItem newBook, newMember, printBook, printMember, printIssueBook, end;	//File Menu Options.
	private	JMenuItem issueBook, returnBook, delBook, delMember, findBook, findMember;	//Edit Menu Options.
	private	JMenuItem viewAllBook, viewAllMember, viewIssueBook;				//View Menu Options.
	private	JMenuItem change, style, theme;							//Option Menu Options.
	private JMenuItem changePassword, makeUser, close, closeAll;				//Window Menu Options.
	private	JMenuItem content, keyHelp, about;						//Help Menu Options.

	//PopupMenu of Program.

	private JPopupMenu popMenu = new JPopupMenu ();

	//MenuItems for PopupMenu of the Program.

	private JMenuItem book, member, print, issue, bookReturn, find, view;

	//For Program's ToolBar.

	private	JToolBar toolBar;

	//For ToolBar's Button.

	private	JButton btnNewBook, btnNewMember, btnIssue, btnReturn, btnPrintIssue, btnDelBook, 
				btnDelMember, btnFindBook, btnFindMember, btnChange, btnHelp, btnKey;

	//Panel For Main Form StatusBar where Program's Name & Welcome Message Display.

	private JPanel statusBar = new JPanel ();

	//Labels for Displaying Program's Name & saying Welcome to User on StatusBar.

	private JLabel lbStatus;	//For Program's Status.
	private JLabel lbWelcome;	//For Welcome Message.

	//Getting the Current System Date.

	private java.util.Date currDate = new java.util.Date ();					//Creating Object.
	private SimpleDateFormat sdf = new SimpleDateFormat ("dd MMMM yyyy", Locale.getDefault());	//Changing Format.
	private String d = sdf.format (currDate);							//Storing Date.

	//Setting the Look & Feel Menu.

	private String strings[] = {"1. Metal", "2. Motif", "3. Windows"};
	private UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels ();
	private ButtonGroup group = new ButtonGroup ();
	private JRadioButtonMenuItem radio[] = new JRadioButtonMenuItem[strings.length];

	private Connection con;		//For Creating the Connection Between Program & Database.
	private Statement st;		//For Getting the Tables From Database.

	private String userName;	//For Getting the Current User's Name.

	//Constructor of The LibrarySystem Program to Iniatilize all Variables of Program.

	public LibrarySystem (String user, Connection conn) {

		//Setting Program's Title.

		super ("Muhammad Wasif's LibrarySystem.");

		//Setting the Main Window of Program.

		setIconImage (getToolkit().getImage ("Images/Home.gif"));	//Setting the Program's Icon.
		setSize (700, 550);						//Setting Main Window Size.

		//Setting the Location of Program on User's Computer Screen By Getting the Screen's Height & Width.

		setLocation((Toolkit.getDefaultToolkit().getScreenSize().width  - getWidth()) / 2,
			(Toolkit.getDefaultToolkit().getScreenSize().height - getHeight()) / 2);

		//Closing Code of Main Window.

		addWindowListener (new WindowAdapter () {		//Attaching the WindowListener to Program.
			public void windowClosing (WindowEvent we) {	//Overriding the windowClosing Function.
				quitApp ();				//Call the Function to Perform the Closing Action.
			}
		}
		);

		//For Making the Dragging Speed of Internal Frames Faster.

		desktop.putClientProperty ("JDesktopPane.dragMode", "outline");

		//Creating the MenuBar For Displaying All the Menus of Program.

		bar = new JMenuBar ();		//Creating the MenuBar Object.
		setJMenuBar (bar);		//Setting Main Window MenuBar.

		//Creating the Menus of Program & Assigning the Key too to Open them.

		mnuFile = new JMenu ("File");
		mnuFile.setMnemonic ((int)'F');
		mnuEdit = new JMenu ("Edit");
		mnuEdit.setMnemonic ((int)'E');
		mnuView = new JMenu ("View");
		mnuView.setMnemonic ((int)'V');
		mnuOpt = new JMenu ("Options");
		mnuOpt.setMnemonic ((int)'O');
		mnuWin = new JMenu ("Window");
		mnuWin.setMnemonic ((int)'W');
		mnuHelp = new JMenu ("Help");
		mnuHelp.setMnemonic ((int)'H');

		//Creating All the MenuItems of Program.

		//MenuItems for FileMenu.

		newBook = new JMenuItem ("Add New Book", new ImageIcon ("Images/Open.gif"));
		newBook.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_N, Event.CTRL_MASK));
		newBook.setMnemonic ((int)'N');
		newBook.addActionListener (this);
		newMember = new JMenuItem ("Add New Member", new ImageIcon ("Images/New.gif"));
		newMember.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_M, Event.CTRL_MASK));
		newMember.setMnemonic ((int)'M');
		newMember.addActionListener (this);
		printBook = new JMenuItem ("Print Book Record", new ImageIcon ("Images/Cut.gif"));
		printBook.setMnemonic ((int)'R');
		printBook.addActionListener (this);
		printMember = new JMenuItem ("Print Member Record", new ImageIcon ("Images/add.gif"));
		printMember.setMnemonic ((int)'T');
		printMember.addActionListener (this);
		printIssueBook = new JMenuItem ("Print Issue Book Record", new ImageIcon ("Images/copy.gif"));
		printIssueBook.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK));
		printIssueBook.setMnemonic ((int)'P');
		printIssueBook.addActionListener (this);
		end = new JMenuItem ("Quit LibrarySystem ?", new ImageIcon ("Images/export.gif"));
		end.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_Q, Event.CTRL_MASK));
		end.setMnemonic ((int)'Q');	
		end.addActionListener (this);

		//MenuItems for EditMenu.

		issueBook = new JMenuItem ("Issue Book");
		issueBook.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_I, Event.CTRL_MASK));
		issueBook.setMnemonic ((int)'I');
		issueBook.addActionListener (this);
		returnBook = new JMenuItem ("Return Book");
		returnBook.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_R, Event.CTRL_MASK));
		returnBook.setMnemonic ((int)'R');	
		returnBook.addActionListener (this);
		delBook = new JMenuItem ("Delete Book", new ImageIcon ("Images/Delete.gif"));
		delBook.setMnemonic ((int)'D');
		delBook.addActionListener (this);
		delMember = new JMenuItem ("Delete Member");
		delMember.setMnemonic ((int)'D');
		delMember.addActionListener (this);
		findBook = new JMenuItem ("Search Book");
		findBook.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_F, Event.CTRL_MASK));
		findBook.setMnemonic ((int)'F');
		findBook.addActionListener (this);
		findMember = new JMenuItem ("Search Member", new ImageIcon ("Images/find.gif"));
		findMember.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));
		findMember.setMnemonic ((int)'S');	
		findMember.addActionListener (this);

		//MenuItems for ViewMenu.

		viewAllBook = new JMenuItem ("View All Books", new ImageIcon ("Images/Fruit.gif"));
		viewAllBook.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_A, Event.CTRL_MASK));
		viewAllBook.setMnemonic ((int)'A');	
		viewAllBook.addActionListener (this);
		viewAllMember = new JMenuItem ("View All Members", new ImageIcon ("Images/Refresh.gif"));
		viewAllMember.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK));
		viewAllMember.setMnemonic ((int)'V');	
		viewAllMember.addActionListener (this);
		viewIssueBook = new JMenuItem ("View Issued Books");
		viewIssueBook.setMnemonic ((int)'I');	
		viewIssueBook.addActionListener (this);

		//MenuItems for OptionMenu.

		change = new JMenuItem ("Change Background Color");
		change.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_B, Event.CTRL_MASK));
		change.setMnemonic ((int)'C');
		change.addActionListener (this);

		//StyleMenu For Changing the Program's Layout.

		style = new JMenu ("Change Layout Style");
		style.setMnemonic ((int)'S');
		for( int i = 0; i < radio.length ; i++ ) {			//Creating the subMenus of Style Menu.
			radio[i] = new JRadioButtonMenuItem (strings[i]);	//Build an Array of Layouts to Apply.
			radio[i].setSelected (true);
			radio[i].addItemListener (this);			//Setting their Actions.
			group.add (radio[i]);					//Making them Grouped.
			style.add (radio[i]);					//Adding to Style MenuOption.
		}

		//SubMenu of ThemeMenu For Applying different Themes to Program By Building an Array of Themes to Apply.
		
		//Attaching the PropertyChangeListener to Program For Applying the Themes.

		UIManager.addPropertyChangeListener (new UISwitchListener ((JComponent)getRootPane()));

		MetalTheme[] themes = { new DefaultMetalTheme (), new BlueTheme (), new BrownTheme (), new GreenTheme (), 
				new ChocTheme (), new OrangeTheme (), new PinkTheme (), new RedTheme (), 
				new WaterTheme (), new YellowTheme () };	//Buliding the Array of Themes Objects.
		theme = new MetalThemeMenu ("Apply Theme", themes);		//Putting the Themes in ThemeMenu.
		theme.setMnemonic ((int)'T');

		//MenuItems for WindowMenu.

		changePassword = new JMenuItem ("Change Your Password");
		changePassword.setMnemonic ((int)'P');
		changePassword.addActionListener (this);
		makeUser = new JMenuItem ("Create New User");
		makeUser.setMnemonic ((int)'N');
		makeUser.addActionListener (this);
		close = new JMenuItem ("Close Active Window");
		close.setMnemonic ((int)'C');
		close.addActionListener (this);
		closeAll = new JMenuItem ("Close All Windows...");
		closeAll.setMnemonic ((int)'A');
		closeAll.addActionListener (this);

		//MenuItems for HelpMenu.

		content = new JMenuItem ("Help Contents", new ImageIcon ("Images/Glass.gif"));
		content.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_H, Event.CTRL_MASK));
		content.setMnemonic ((int)'H');
		content.addActionListener (this);
		keyHelp = new JMenuItem ("Shortcut Keys...");
		keyHelp.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_K, Event.CTRL_MASK));
		keyHelp.setMnemonic ((int)'K');
		keyHelp.addActionListener (this);
		about = new JMenuItem ("About LibrarySystem", new ImageIcon ("Images/Windows.gif"));
		about.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_L, Event.CTRL_MASK));
		about.setMnemonic ((int)'L');
		about.addActionListener (this);

		//Adding All MenuItems to their Menu.
	
		//File Menu Items.
		mnuFile.add (newBook);
		mnuFile.add (newMember);
		mnuFile.addSeparator ();
		mnuFile.add (printBook);
		mnuFile.add (printMember);
		mnuFile.add (printIssueBook);
		mnuFile.addSeparator ();
		mnuFile.add (end);

		//Edit Menu Items.
		mnuEdit.add (issueBook);
		mnuEdit.add (returnBook);
		mnuEdit.addSeparator ();
		mnuEdit.add (delBook);
		mnuEdit.add (delMember);
		mnuEdit.addSeparator ();
		mnuEdit.add (findBook);
		mnuEdit.add (findMember);

		//View Menu Items.
		mnuView.add (viewAllBook);
		mnuView.addSeparator ();
		mnuView.add (viewAllMember);
		mnuView.addSeparator ();
		mnuView.add (viewIssueBook);

		//Options Menu Items.
		mnuOpt.add (change);
		mnuOpt.addSeparator ();
		mnuOpt.add (style);
		mnuOpt.addSeparator ();
		mnuOpt.add (theme);

		//Window Menu Items.
		mnuWin.add (changePassword);
		mnuWin.add (makeUser);
		mnuWin.addSeparator ();
		mnuWin.add (close);
		mnuWin.add (closeAll);

		//Help Menu Items.
		mnuHelp.add (content);
		mnuHelp.addSeparator ();
		mnuHelp.add (keyHelp);
		mnuHelp.addSeparator ();
		mnuHelp.add (about);

		//Adding All Menus to MenuBar.

		bar.add (mnuFile);
		bar.add (mnuEdit);
		bar.add (mnuView);
		bar.add (mnuOpt);
		bar.add (mnuWin);
		bar.add (mnuHelp);

		//MenuItems for PopupMenu.

		book = new JMenuItem ("Add New Book", new ImageIcon ("Images/Open.gif"));
		book.addActionListener (this);
		member = new JMenuItem ("Add New Member", new ImageIcon ("Images/New.gif"));
		member.addActionListener (this);
		print = new JMenuItem ("Print Book Record", new ImageIcon ("Images/Cut.gif"));
		print.addActionListener (this);
		issue = new JMenuItem ("Issue Book");
		issue.addActionListener (this);
		bookReturn = new JMenuItem ("Return Book");
		bookReturn.addActionListener (this);
		find = new JMenuItem ("Search Book", new ImageIcon ("Images/Find.gif"));
		find.addActionListener (this);
		view = new JMenuItem ("View All Members", new ImageIcon ("Images/refresh.gif"));
		view.addActionListener (this);

		//Adding MenuItems to PopupMenu.

		popMenu.add (book);
		popMenu.add (member);
		popMenu.add (print);
		popMenu.add (issue);
		popMenu.add (bookReturn);
		popMenu.add (find);
		popMenu.add (view);

		//Following Procedure display the PopupMenu of Program Whenever User Right Click on Program By Mouse.

		addMouseListener (new MouseAdapter () {
			public void mousePressed (MouseEvent me) { checkMouseTrigger (me); }
			public void mouseReleased (MouseEvent me) { checkMouseTrigger (me); }
			private void checkMouseTrigger (MouseEvent me) {
				if (me.isPopupTrigger ())
					popMenu.show (me.getComponent (), me.getX (), me.getY ());
			}
		}
		);
		
		//Creating the ToolBar's Buttons of Program.

		btnNewBook = new JButton (new ImageIcon ("Images/NotePad.gif"));
		btnNewBook.setToolTipText ("Add New Book");
		btnNewBook.addActionListener (this);
		btnNewMember = new JButton (new ImageIcon ("Images/Info.gif"));
		btnNewMember.setToolTipText ("Add New Member");
		btnNewMember.addActionListener (this);
		btnIssue = new JButton (new ImageIcon ("Images/Film.gif"));
		btnIssue.setToolTipText ("Issue Book");
		btnIssue.addActionListener (this);
		btnReturn = new JButton (new ImageIcon ("Images/Backup.gif"));
		btnReturn.setToolTipText ("Return Book");
		btnReturn.addActionListener (this);
		btnPrintIssue = new JButton (new ImageIcon ("Images/Hp.gif"));
		btnPrintIssue.setToolTipText ("Print Issue Book");
		btnPrintIssue.addActionListener (this);
		btnDelBook = new JButton (new ImageIcon ("Images/Recycle.gif"));
		btnDelBook.setToolTipText ("Delete Book");
		btnDelBook.addActionListener (this);
		btnDelMember = new JButton (new ImageIcon ("Images/Basket.gif"));
		btnDelMember.setToolTipText ("Delete Member");
		btnDelMember.addActionListener (this);
		btnFindBook = new JButton (new ImageIcon ("Images/Mirror.gif"));
		btnFindBook.setToolTipText ("Search Book");
		btnFindBook.addActionListener (this);
		btnFindMember = new JButton (new ImageIcon ("Images/Search.gif"));
		btnFindMember.setToolTipText ("Search Member");
		btnFindMember.addActionListener (this);
		btnChange = new JButton (new ImageIcon ("Images/Key.gif"));
		btnChange.setToolTipText ("Change Your Password");
		btnChange.addActionListener (this);
		btnHelp = new JButton (new ImageIcon ("Images/Help.gif"));
		btnHelp.setToolTipText ("Help on LibrarySystem");
		btnHelp.addActionListener (this);
		btnKey = new JButton (new ImageIcon ("Images/Keys.gif"));
		btnKey.setToolTipText ("Shortcut Keys of LibrarySystem");
		btnKey.addActionListener (this);

		//Creating the ToolBar of Program.

		toolBar = new JToolBar ();
		toolBar.add (btnNewBook);
		toolBar.add (btnNewMember);
		toolBar.addSeparator ();
		toolBar.add (btnIssue);
		toolBar.add (btnReturn);
		toolBar.addSeparator ();
		toolBar.add (btnPrintIssue);
		toolBar.addSeparator ();
		toolBar.add (btnDelBook);
		toolBar.add (btnDelMember);
		toolBar.addSeparator ();
		toolBar.add (btnFindBook);
		toolBar.add (btnFindMember);
		toolBar.addSeparator ();
		toolBar.add (btnChange);
		toolBar.addSeparator ();
		toolBar.add (btnHelp);
		toolBar.add (btnKey);

		//Getting the Current User.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -