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

📄 usersearchpanel.java

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

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.util.Collection;

import javax.swing.JPanel;

import com.ciash.bms.entity.User;
import com.ciash.bms.gui.search.loader.UserLoaderPanel;
import com.ciash.bms.gui.search.loader.UserLoader;
import com.ciash.bms.gui.selecter.UserSelecter;
import com.ciash.bms.gui.selecter.event.UserSelectListenable;
import com.ciash.bms.gui.selecter.event.UserSelectListener;
import com.ciash.bms.gui.uiInter.SearchUI;
import com.ciash.bms.observer.UserSearchObserver;
import com.ciash.common.gui.FindInfoPanel;
import com.ciash.common.gui.event.FindEvent;
import com.ciash.common.gui.event.FindListener;

/**
 * 实现选择器接口以及搜索器接口
 */
public class UserSearchPanel 
extends JPanel 
implements SearchUI {

	protected String[] findMethods = { "按用户名查找" ,"按姓名查找"};

	private FindInfoPanel findInfoPanel = new FindInfoPanel();
	private FlowLayout flowLayout1 = new FlowLayout(FlowLayout.LEFT);
	private JPanel northPanel = new JPanel(flowLayout1);
	private UserSearchObserver controller;
	private UserLoaderPanel userLoaderPanel;
	private String searchInfo;

	public UserSearchPanel(UserLoaderPanel userLoaderPanel) {
		super();
		jbInit();
		setUserLoader(userLoaderPanel);
	}

	public UserSearchPanel(UserSearchObserver userSearchObserver,
			UserLoaderPanel userLoader) {
		this(userLoader);
		setSearchObserver(userSearchObserver);
	}

	public UserSearchPanel() {
		jbInit();
	}

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

	public void setSearchObserver(UserSearchObserver userSearchObserver) {
		this.controller = userSearchObserver;
		findInfoPanel.clearFindListener();
		findInfoPanel.addFindListener(new InnerListener());
	}

	public UserSearchObserver getSearchObserver() {
		return controller;
	}

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

	public String getSearchInfo() {
		return searchInfo;
	}

	private class InnerListener implements FindListener {
		public void buttonPressed(FindEvent e) {
			String method = e.getMethod();
			searchInfo = e.getInfo();
			if (method.equals(findMethods[0])) {
				controller.findUserById();
			} else if (method.equals(findMethods[1])) {
				controller.findUserByName();
			}
		}
	}

	public void setUserLoader(UserLoaderPanel userLoaderPanel) {
		this.userLoaderPanel = userLoaderPanel;
		add(userLoaderPanel, BorderLayout.CENTER);
	}

	public UserLoaderPanel getUserLoader() {
		return userLoaderPanel;
	}
}

⌨️ 快捷键说明

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