www.pudn.com > Java_UML_library.rar > ReturnItemFrame.java


// 
//  Unified Library Application 
//  Case study in Unified Modeling Language Toolkit 
// 
//  ReturnItemFrame.java 
// 
// 
//  Copyright (c) 1998 John Wiley & Sons, Inc. All rights reserved. 
//  Reproduction or translations of this work beyond that permitted 
//  in Section 117 of the 1976 United States Copyright Act without 
//  the express written permission of the copyright owner is unlawful. 
//  Requests for further information should be addressed to Permissions 
//  Department, John Wiley & Sons, Inc. The purchaser may make back-up 
//  copies for his/her own use only and not for distribution or resale. 
//  The Publisher assumes no responsibility for errors, omissions, or 
//  damages, caused by the use of these programs of from the use of the 
//  information contained herein. 
 
package ui; 
import bo.*; 
import util.*; 
 
import java.awt.*; 
 
public class ReturnItemFrame extends Frame implements ResultOfFindTitle { 
 
	private Title title; 
 
	void findTitleButton_Clicked(Event event) { 
		FindTitleDialog dlg = new FindTitleDialog(this,true); 
		dlg.show(); 
	} 
 
	void okButton_Clicked(Event event) { 
		if (title == null || itemList.getSelectedIndex() == -1) 
        { 
            new MessageBox(this,"Please select title and item!"); 
        } 
        else 
        { 
            String s = itemList.getSelectedItem(); 
 
            Item it = title.getItemWithId(Integer.valueOf(s).intValue()); 
 
            Loan loan = it.getLoan(); 
            BorrowerInformation borrow = loan.getBorrower(); 
 
            it.setLoan(new ObjId()); 
            it.update(); 
            borrow.removeLoan(loan.getObjId()); 
            borrow.update(); 
 
            loan.delete(); 
 
            title = null; 
		    dispose(); 
 
        } 
 
	} 
 
	void cancelButton_Clicked(Event event) { 
		dispose(); 
	} 
 
	void itemList_ListSelect(Event event) { 
		checkStatus(); 
	} 
 
    public void resultTitle(ObjId titleid) 
    { 
        title = Title.getTitle(titleid); 
        titleField.setText(title.getTitle()); 
        authorField.setText(title.getAuthor()); 
        int items = title.getNoItems(); 
        itemList.clear(); 
        for (int i = 0; i < items; i++) 
        { 
            Item it = title.getItem(i); 
            if (it.isBorrowed()) 
                itemList.addItem(Integer.toString(it.getId())); 
        } 
        checkStatus(); 
    } 
 
 
    private void checkStatus() 
    { 
        if (title == null || itemList.getSelectedIndex() == -1) 
            okButton.disable(); 
        else 
        { 
            okButton.enable(); 
            String s = itemList.getSelectedItem(); 
            Item it = title.getItemWithId(Integer.valueOf(s).intValue()); 
            Loan loan = it.getLoan(); 
            BorrowerInformation borrow = loan.getBorrower(); 
            borrowerField.setText(borrow.getLastName()); 
        } 
    } 
 
 
	public ReturnItemFrame() { 
 
		//{{INIT_CONTROLS 
		setLayout(null); 
		addNotify(); 
		resize(insets().left + insets().right + 430,insets().top + insets().bottom + 260); 
		setFont(new Font("Dialog", Font.PLAIN, 12)); 
		titleField = new java.awt.TextField(); 
		titleField.setEditable(false); 
		titleField.reshape(insets().left + 96,insets().top + 24,182,24); 
		titleField.setBackground(new Color(12632256)); 
		add(titleField); 
		label1 = new java.awt.Label("Title"); 
		label1.reshape(insets().left + 24,insets().top + 24,40,20); 
		add(label1); 
		authorField = new java.awt.TextField(); 
		authorField.setEditable(false); 
		authorField.reshape(insets().left + 96,insets().top + 60,182,24); 
		authorField.setBackground(new Color(12632256)); 
		add(authorField); 
		label2 = new java.awt.Label("Author"); 
		label2.reshape(insets().left + 24,insets().top + 60,48,20); 
		add(label2); 
		findTitleButton = new java.awt.Button("Find Title"); 
		findTitleButton.reshape(insets().left + 288,insets().top + 24,120,24); 
		add(findTitleButton); 
		okButton = new java.awt.Button("OK (Item returned)"); 
		okButton.reshape(insets().left + 168,insets().top + 216,156,24); 
		add(okButton); 
		cancelButton = new java.awt.Button("Close"); 
		cancelButton.reshape(insets().left + 348,insets().top + 216,60,24); 
		add(cancelButton); 
		label3 = new java.awt.Label("Borrower"); 
		label3.reshape(insets().left + 24,insets().top + 168,72,20); 
		add(label3); 
		borrowerField = new java.awt.TextField(); 
		borrowerField.setEditable(false); 
		borrowerField.reshape(insets().left + 96,insets().top + 168,180,24); 
		borrowerField.setBackground(new Color(12632256)); 
		add(borrowerField); 
		itemList = new java.awt.List(0,false); 
		add(itemList); 
		itemList.reshape(insets().left + 96,insets().top + 96,72,54); 
		itemList.setBackground(new Color(16777215)); 
		label4 = new java.awt.Label("Borrowed"); 
		label4.reshape(insets().left + 24,insets().top + 96,60,20); 
		add(label4); 
		label5 = new java.awt.Label("Items"); 
		label5.reshape(insets().left + 24,insets().top + 120,60,20); 
		add(label5); 
		setTitle("ReturnItem"); 
		//}} 
        okButton.disable(); 
		//{{INIT_MENUS 
		//}} 
	} 
 
	public ReturnItemFrame(String title) { 
	    this(); 
	    setTitle(title); 
	} 
 
    public synchronized void show() { 
    	move(50, 50); 
    	super.show(); 
    } 
 
	public boolean handleEvent(Event event) { 
    	if (event.id == Event.WINDOW_DESTROY) { 
            dispose(); 
            return true; 
    	} 
		if (event.target == findTitleButton && event.id == Event.ACTION_EVENT) { 
			findTitleButton_Clicked(event); 
			return true; 
		} 
		if (event.target == cancelButton && event.id == Event.ACTION_EVENT) { 
			cancelButton_Clicked(event); 
			return true; 
		} 
		if (event.target == okButton && event.id == Event.ACTION_EVENT) { 
			okButton_Clicked(event); 
			return true; 
		} 
		if (event.target == itemList && event.id == Event.LIST_SELECT) { 
			itemList_ListSelect(event); 
			return true; 
		} 
		return super.handleEvent(event); 
	} 
 
	//{{DECLARE_CONTROLS 
	java.awt.TextField titleField; 
	java.awt.Label label1; 
	java.awt.TextField authorField; 
	java.awt.Label label2; 
	java.awt.Button findTitleButton; 
	java.awt.Button okButton; 
	java.awt.Button cancelButton; 
	java.awt.Label label3; 
	java.awt.TextField borrowerField; 
	java.awt.List itemList; 
	java.awt.Label label4; 
	java.awt.Label label5; 
	//}} 
 
	//{{DECLARE_MENUS 
	//}} 
}