?? editcontrolpanel.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 + -