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

📄 booksystem.java

📁 使用swing做的熟悉控件使用的DEMO
💻 JAVA
字号:
package frame;import java.util.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;import book.*;import userexception.*;public class BookSystem{	private JTabbedPane tabPane;	private BookList booklist;	private LendList lendlist;	private BookTableModel bltm = null;	private BookTableModel lltm = null;	//constructor	public BookSystem() {		tabPane = new JTabbedPane();		booklist = BookList.getInstance();		lendlist = LendList.getInstance();	}	//method to generate the main GUI	public JFrame createGUI() {		final JFrame f = new JFrame("Book Management System Ver 0.1");		//create menu items		JMenuItem mnuAddBook = new JMenuItem("Add Book");		JMenuItem mnuSearch = new JMenuItem("Search");		JMenuItem mnuModify = new JMenuItem("Modify");		JMenuItem mnuLend = new JMenuItem("Lend");		JMenuItem mnuReturn = new JMenuItem("Return");		JMenuItem mnuSeeBookList = new JMenuItem("BookList");		JMenuItem mnuSeeLendList = new JMenuItem("LendList");		JMenuItem mnuExit = new JMenuItem("Exit");		JMenu file = new JMenu("File");		JMenu op = new JMenu("Operation");		JMenu view = new JMenu("View");				JMenuBar bar = new JMenuBar();		file.add(mnuExit);		mnuExit.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				System.exit(0);					}		});		op.add(mnuAddBook);		mnuAddBook.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				addBook(f, booklist, bltm);			}		});			op.add(mnuSearch);		mnuSearch.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				search(f, booklist, bltm);			}		});		op.add(mnuModify);		mnuModify.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				modify();			}		});		op.add(mnuLend);		mnuLend.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				lend();			}		});		op.add(mnuReturn);		mnuReturn.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				returnBook();			}		});		view.add(mnuSeeBookList);		mnuSeeBookList.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				seeBookList();			}		});		view.add(mnuSeeLendList);		mnuSeeLendList.addActionListener(new ActionListener(){			public void actionPerformed(ActionEvent e){				seeLendList();			}		});						bar.add(file);		bar.add(op);		bar.add(view);					//init main frame		f.setDefaultLookAndFeelDecorated(false);		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		f.setJMenuBar(bar);		Container container = f.getContentPane();		tabPane.addTab("BookList", null, bookListTab(),                          "Does nothing");		tabPane.addTab("LendList",null,lendListTab(),"Does nothing");		container.add(tabPane);		f.pack();		f.setSize(f.getSize().width,f.getSize().height + 300);		f.setResizable(false);		//f.setSize(500,600);		return f;	}			//method to generate lend list tab	public JPanel lendListTab() {		JPanel pane = new JPanel(new FlowLayout());		HashSet books = new HashSet();		lltm = getBookListModel(books);		lltm.addTableModelListener(new BookTableModelListener(lltm, booklist, lendlist));		JTable t = new JTable(lltm);				pane.add(t);		return pane;	}		//method to generate book list tab	public JPanel bookListTab() {		JPanel pane = new JPanel(new FlowLayout());		HashSet books = booklist.getBooks();		bltm = getBookListModel(books);		bltm.addTableModelListener(new BookTableModelListener(bltm, booklist, lendlist));		JTable t = new JTable(bltm);		pane.add(t);		return pane;	}		//method to add a book;	public void addBook(JFrame f, BookList bl, BookTableModel tm) {		new AddNewDlg(f, bl, tm);	}	//method to search a book;	public void search(JFrame f, BookList bl, BookTableModel tm) {		new SearchDlg(f, bl, tm);	}	//method to lend a book;	public void lend() {		}	//method to return a book;	public void returnBook() {	}	//method to modify a book	public void modify() {	}		//method to see book list	public void seeBookList() {	}	//method to see lend book list	public void seeLendList() {	}		//method to generate the required data for the book list or lend list.	public BookTableModel getBookListModel(HashSet books) {		//init data		String names[] = {Book.KEY, Book.NAME, Book.AUTHOR, Book.TYPE, Book.COST, Book.PUBLISH};		return BookTableModel.getBookModel(books, names);	}	//main	public static void main(String args[]) {		BookSystem sys = new BookSystem();		JFrame f = sys.createGUI();		f.show();	}}/*** class AddNewDlg*/class AddNewDlg extends JDialog{	BookList bl = null;		BookTableModel tm = null;	public AddNewDlg(JFrame f, BookList bl, BookTableModel tm) {		super(f);		this.bl = bl;		this.tm = tm;		createGUI();	}		public void createGUI() {		final JTextField txtName = new JTextField(10);		final JTextField txtAuthor = new JTextField(10);		final JTextField txtType = new JTextField(10);		final JTextField txtCost = new JTextField(10);		final JTextField txtPublish = new JTextField(10);		JButton btnAdd = new JButton("Accept");		btnAdd.addActionListener(new ActionListener() {			public void actionPerformed(ActionEvent e){				if(!(txtName.getText().equals("") || txtAuthor.getText().equals("") ||txtType.getText().equals("") ||txtCost.getText().equals("") || txtPublish.getText().equals("")  ))				doAdd(txtName.getText(), txtAuthor.getText(), txtType.getText(),txtCost.getText(),txtPublish.getText());			}		});		JPanel pane = new JPanel(new FlowLayout(5,1,5));		pane.add(new JLabel("Name:"));		pane.add(txtName);		pane.add(new JLabel("Author:"));		pane.add(txtAuthor);		pane.add(new JLabel("Type:"));		pane.add(txtType);		pane.add(new JLabel("Cost:"));		pane.add(txtCost);		pane.add(new JLabel("Publish:"));		pane.add(txtPublish);					Container c = getContentPane();		c.add(pane,BorderLayout.CENTER);		c.add(btnAdd,BorderLayout.SOUTH);	//	setDefaultCloseOperation();		pack();		show();	}	//method to add a book;	public void doAdd(String n, String a, String t, String c, String p) {		Book bk = new Book(bl.makeNo(), n, a, Integer.parseInt(t), Double.parseDouble(c), p);		try {		bl.addBook(bk);		}catch (AddException e) {}		tm.insertRow(tm.getRowCount(), tm.genRowData(bk));		System.out.println(bk);	}	}/*** class SearchDlg */class SearchDlg extends JDialog {        BookList bl = null;        BookTableModel tm = null;        public SearchDlg(JFrame f, BookList bl, BookTableModel tm) {                super(f);                this.bl = bl;                this.tm = tm;                createGUI();        }                                                                                                         public void createGUI() {                final JTextField txtName = new JTextField(10);                final JTextField txtAuthor = new JTextField(10);                final JTextField txtType = new JTextField(10);                final JTextField txtPublish = new JTextField(10);                JButton btnAdd = new JButton("Accept");                btnAdd.addActionListener(new ActionListener() {                        public void actionPerformed(ActionEvent e){                                if(!(txtName.getText().equals("") && txtAuthor.getText().equals("") && txtType.getText().equals("") && txtPublish.getText().equals("")))                                doQuery(txtName.getText(), txtAuthor.getText(), Integer.parseInt(txtType.getText()),txtPublish.getText());                        }                });                                                                                                                 JPanel pane = new JPanel(new FlowLayout(5,5,1));                pane.add(new JLabel("Name:"));                pane.add(txtName);                pane.add(new JLabel("Author:"));                pane.add(txtAuthor);                pane.add(new JLabel("Type:"));                pane.add(txtType);                pane.add(new JLabel("Publish:"));                pane.add(txtPublish);                Container c = getContentPane();		c.add(new JLabel("<HTML><font style='font-size:20px;color:red'>Query Input:</font></HTML>"),BorderLayout.NORTH);                c.add(pane,BorderLayout.CENTER);                c.add(btnAdd,BorderLayout.SOUTH);        //      setDefaultCloseOperation();                pack();		setLocation(200,200);                show();        }                                                                                                         //method to add a book;        public void doQuery(String n, String a, int t, String p) {                Collection al = null;		try {                al = bl.query(n, a, t, p);                }catch (BookNotFoundException e) {}		//remove all		for(int i = 0; i < tm.getRowCount(); i++) tm.removeRow(i);		/*		//add result			Iterator i = al.iterator();		int rowCnt = 0;		Book bk = null;		while(i.hasNext()) {			bk = (Book)i.next();			tm.insertRow(rowCnt++, tm.genRowData(bk));		}		*/                //System.out.println(bk);        }}

⌨️ 快捷键说明

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