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

📄 editcontrolpanel.java

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

//import java.awt.Dimension;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;

import com.ciash.bms.entity.Book;
import com.ciash.bms.entity.Popedom;
import com.ciash.bms.entity.User;
import com.ciash.bms.gui.menu.event.EditBookListener;
import com.ciash.bms.gui.menu.event.RegisterListener;
import com.ciash.bms.gui.selecter.BookSelecter;
import com.ciash.bms.gui.selecter.UserSelecter;
import com.ciash.bms.gui.updater.BookUpdater;
import com.ciash.bms.gui.updater.LoginUpdater;
import com.ciash.bms.gui.updater.UserUpdater;
import com.ciash.bms.observer.BookEditObserver;
import com.ciash.bms.observer.UserEditDBObserver;
import com.ciash.bms.observer.UserRegisterObserver;
import com.ciash.bms.observer.impl.UserDBObserver;

/**
 * 类描述:
 * <p />
 * 公司: Cigarette Ash Inc.
 * <p />
 * 版权: Copyright (c) Cigarette Ash 2009
 * <p />
 * 
 * @author Cigarette Ash
 * @version 1.0
 */
public class EditControlPanel extends JPanel implements LoginUpdater,
		BookSelecter, UserSelecter {

	protected JButton addBookButton = new JButton(new ImageIcon(
			"./resource/new.gif"));
	protected JButton editBookButton = new JButton(new ImageIcon(
			"./resource/edit.gif"));
	protected JButton deleteBookButton = new JButton(new ImageIcon(
			"./resource/delete.gif"));

	protected JButton addUserButton = new JButton(new ImageIcon(
			"./resource/new.gif"));
	protected JButton editUserButton = new JButton(new ImageIcon(
			"./resource/edit.gif"));
	protected JButton deleteUserButton = new JButton(new ImageIcon(
			"./resource/delete.gif"));

	protected JPanel bookPanel = new JPanel();
	protected JPanel userPanel = new JPanel();

	private BookEditObserver bookEditObserver;
	private EditBookListener editBookListener;

	private RegisterListener registerListener;
	private UserRegisterObserver userRegisterObserver;

	public EditControlPanel() {
		FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
		layout.setHgap(1);
		bookPanel.setLayout(layout);
		userPanel.setLayout(layout);
		setLayout(layout);
		Dimension size = new Dimension(30, 30);
		addBookButton.setPreferredSize(size);
		editBookButton.setPreferredSize(size);
		deleteBookButton.setPreferredSize(size);
		addUserButton.setPreferredSize(size);
		editUserButton.setPreferredSize(size);
		deleteUserButton.setPreferredSize(size);
		bookPanel.add(addBookButton);
		bookPanel.add(editBookButton);
		bookPanel.add(deleteBookButton);

		userPanel.add(addUserButton);
		userPanel.add(editUserButton);
		userPanel.add(deleteUserButton);

		addUserButton.setToolTipText("用户注册");

		editBookButton.setEnabled(false);
		deleteBookButton.setEnabled(false);
		editUserButton.setEnabled(false);
		deleteUserButton.setEnabled(false);

		add(bookPanel);
		add(userPanel);
		userPanel.setVisible(false);
		bookPanel.setVisible(false);
	}

	public void updateLogin(User user, Popedom pop) {
		setBookEdit(pop);
		setBookAdd(pop);
		setBookDelete(pop);
		setUserDelete(pop);
		setUserEdit(pop);
		setUserAdd(pop);
		isLogin = true;
		setSelectBook(selectBook);
	}

	private void setUserDelete(Popedom pop) {
		if (pop.isCanDelUser()) {
			deleteUserButton.setVisible(true);
		} else {
			deleteUserButton.setVisible(false);
		}
	}

	private void setBookDelete(Popedom pop) {
		if (pop.isCanDelBook()) {
			deleteBookButton.setVisible(true);
		} else {
			deleteBookButton.setVisible(false);
		}
	}

	private void setBookAdd(Popedom pop) {
		if (pop.isCanAddBook()) {
			addBookButton.setVisible(true);

		} else {
			addBookButton.setVisible(false);
		}
	}

	private void setUserAdd(Popedom pop) {
		if (pop.isCanAddUser()) {
			addUserButton.setVisible(true);

		} else {
			addUserButton.setVisible(false);
		}
	}

	private void setUserEdit(Popedom pop) {
		if (pop.isCanEditUser()) {
			editUserButton.setVisible(true);
		} else {
			editUserButton.setVisible(false);
		}
	}

	private void setBookEdit(Popedom pop) {
		if (pop.isCanEditBook()) {
			editBookButton.setVisible(true);

		} else {
			editBookButton.setVisible(false);
		}
	}

	public void updateQuit() {
		bookPanel.setVisible(false);
		userPanel.setVisible(false);
		isLogin = false;
	}

	boolean isLogin = false;
	private User selectUser;
	private Book selectBook;

	public Book getSelectBook() {
		return this.selectBook;
	}

	public User getSelectUser() {
		return this.selectUser;
	}

	public void setSelectBook(Book book) {
		if (isLogin) {
			userPanel.setVisible(false);
			bookPanel.setVisible(true);
			if (book == null) {
				editBookButton.setEnabled(false);
				deleteBookButton.setEnabled(false);
			} else {
				editBookButton.setEnabled(true);
				deleteBookButton.setEnabled(true);
			}
		}
		this.selectBook = book;
	}

	public void setSelectUser(User user) {
		if (isLogin) {
			bookPanel.setVisible(false);
			userPanel.setVisible(true);
			if (user == null) {
				editUserButton.setEnabled(false);
				deleteUserButton.setEnabled(false);
			} else {
				editUserButton.setEnabled(true);
				deleteUserButton.setEnabled(true);
			}
		}
		this.selectUser = user;
	}

	// registerObserver
	public void setRegisterObserver(UserRegisterObserver userRegisterObserver) {
		if (addUserButton.getActionListeners().length > 0) {
			addUserButton.removeActionListener(registerListener);
		}
		registerListener = new RegisterListener(userRegisterObserver);
		addUserButton.addActionListener(registerListener);
		addUserButton.setActionCommand(RegisterListener.REGISTER);
		this.userRegisterObserver = userRegisterObserver;
	}

	public UserRegisterObserver getRegisterObserver() {
		return userRegisterObserver;
	}

	public BookEditObserver getEditBookObserver() {
		return this.bookEditObserver;
	}

	public void setUserEditObserver(UserDBObserver userDBObserver) {
		UserEditListener l = new UserEditListener(userDBObserver);
		editUserButton.setActionCommand(UserEditListener.EDITUSER);
		editUserButton.addActionListener(l);
		deleteUserButton.addActionListener(l);
		deleteUserButton.setActionCommand(UserEditListener.DELETEUSER);
	}

	public void setBookEditObserver(BookEditObserver bookEditObserver) {
		this.bookEditObserver = bookEditObserver;
		this.editBookListener = new EditBookListener(bookEditObserver);
		this.addBookButton.addActionListener(editBookListener);
		BookEditListener l = new BookEditListener(bookEditObserver);
		editBookButton.addActionListener(l);
		deleteBookButton.addActionListener(l);
		editBookButton.setActionCommand(BookEditListener.EDITBOOK);
		deleteBookButton.setActionCommand(BookEditListener.DELETEBOOK);
	}

	private class UserEditListener implements ActionListener {
		public static final String DELETEUSER = "删除用户";
		private UserEditDBObserver userDBObserver;
		public static final String EDITUSER = "编辑用户";

		public UserEditListener(UserEditDBObserver userDBObserver) {
			this.userDBObserver = userDBObserver;
		}

		public void actionPerformed(ActionEvent e) {
			if (e.getActionCommand().equals(EDITUSER)) {
				userDBObserver.editUser(getSelectUser());
			} else if (e.getActionCommand().equals(DELETEUSER)) {
				if (userDBObserver.deleteUser(getSelectUser())) {
					deleteUserButton.setEnabled(false);
					editUserButton.setEnabled(false);
				}
			}
		}
	}

	private class BookEditListener implements ActionListener {
		private BookEditObserver bookDBObserver;
		public static final String DELETEBOOK = "删除书籍";
		public static final String EDITBOOK = "编辑书籍";

		public BookEditListener(BookEditObserver bookDBObserver) {
			this.bookDBObserver = bookDBObserver;
		}

		public void actionPerformed(ActionEvent e) {
			if (e.getActionCommand().equals(EDITBOOK)) {
				bookDBObserver.editBook(getSelectBook());
			} else if (e.getActionCommand().equals(DELETEBOOK)) {
				if (bookDBObserver.deleteBook(getSelectBook())) {
					editBookButton.setEnabled(false);
					deleteBookButton.setEnabled(false);
				}
			}
		}
	}
}

⌨️ 快捷键说明

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