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

📄 booksearchpanel.java

📁 此文档针对开发人员和测试人员。第二章对软件进行了全面的描述。第三章对接口进行了分析。第四章对软件实现的功能进行概述。第五章对软件后续开发实现提出的要求。第六章提出其他一些在软件开发过程中需要注意的问题
💻 JAVA
字号:
package com.ciash.bms.gui.search;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.awt.BorderLayout;
import java.util.Iterator;
import java.util.Collection;
import java.util.Vector;
import com.ciash.bms.entity.Book;
import com.ciash.common.gui.FindInfoPanel;
import java.awt.FlowLayout;
import com.ciash.bms.db.manager.book.BookDBFindManager;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import com.ciash.common.gui.event.FindListener;
import com.ciash.common.gui.event.FindEvent;
import com.ciash.bms.observer.BookSearchObserver;
import com.ciash.bms.gui.search.loader.BookLoaderPanel;
import com.ciash.bms.gui.uiInter.SearchUI;


/**
 * <p>Title: BMS</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2009</p>
 * <p>Company: Cigarette Ash Inc.</p>
 * @author Cigarette Ash
 * @version 1.0
 */

public class BookSearchPanel extends JPanel implements SearchUI{

    public final static String[] findMethods = {
    	"按索书号查找", "按书名查找", "按作者查找", "按出版社查找", "通过借书者ID查询"};

    private FindInfoPanel findInfoPanel = new FindInfoPanel();
    JPanel jPanel1 = new JPanel();
    FlowLayout flowLayout1 = new FlowLayout(FlowLayout.LEFT);
    private BookSearchObserver observer;
	private BookLoaderPanel bookLoaderPanel;

    private String searchInfo;

    public BookSearchPanel(BookSearchObserver bookSearchObserver,BookLoaderPanel bookViewerPanel) {
        this(bookViewerPanel);
        setSearchObserver(bookSearchObserver);
    }

    public BookSearchPanel(BookLoaderPanel bookLoaderPanel){
        super();
        jbInit();
        this.setBookLoader(bookLoaderPanel);
    }

	public BookSearchPanel() {
		jbInit();
	}

	private void jbInit() {
        setLayout(new BorderLayout());
        jPanel1.setLayout(flowLayout1);
        jPanel1.add(findInfoPanel);
        add(jPanel1, BorderLayout.NORTH);
        setMethods();
    }

    protected void setMethods() {
        for (int i = 0; i < findMethods.length; i++) {
            findInfoPanel.addFindMethodName(findMethods[i]);
        }
    }

    public void setSearchObserver(BookSearchObserver bookSearchObserver){
        this.observer = bookSearchObserver;
        findInfoPanel.clearFindListener();
        findInfoPanel.addFindListener(new InnerListener());
    }

    public BookSearchObserver getSearchObserver(){
        return this.observer;
    }

    public String getSearchInfo() {
        return searchInfo;
    }

    public void setBookLoader(BookLoaderPanel bookLoaderPanel) {
		this.bookLoaderPanel = bookLoaderPanel;
		add(bookLoaderPanel, BorderLayout.CENTER);
	}

	public BookLoaderPanel getBookLoader() {
		return bookLoaderPanel;
	}

	private class InnerListener
    implements FindListener {
        public void buttonPressed(FindEvent e) {
            String method = e.getMethod();
            searchInfo = e.getInfo();
            if(method.equals(findMethods[0])){
            	observer.findBookById();
            }
            else if(method.equals(findMethods[1])){
                observer.findBookByName();
            }
            else if(method.equals(findMethods[2])){
                observer.findBookByAuthor();
            }
            else if(method.equals(findMethods[3])){
                observer.findBookByConcern();
            }
            else if(method.equals(findMethods[4])){
                observer.findBookByUserId();
            }
        }
    }
}

⌨️ 快捷键说明

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