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


// 
//  Unified Library Application 
//  Case study in Unified Modeling Language Toolkit 
// 
//  LendItemFrame.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.*; 
import java.util.*; 
 
public class LendItemFrame extends Frame implements ResultOfFindTitle, ResultOfFindBorrower { 
	private BorrowerInformation borrower; 
	private Title title; 
 
	void FindTitleButton_Clicked(Event event) { 
		FindTitleDialog dlg = new FindTitleDialog(this,true); 
		dlg.show(); 
	} 
 
    void FindBorrowerInformation_Clicked(Event event) { 
		FindBorrowerDialog dlg = new FindBorrowerDialog(this,true); 
		dlg.show(); 
	} 
 
	void okButton_Clicked(Event event) { 
        if (borrower == null || title == null || itemList.getSelectedIndex() == -1) 
        { 
            new MessageBox(this,"Not all information given!"); 
        } 
        else 
        { 
            String s = itemList.getSelectedItem(); 
            if (s.substring(0,4).equals("(B):")) 
            { 
                new MessageBox(this,"Sorry, that item has been borrowed!"); 
                return; 
            } 
            else 
                s = s.substring(4,s.length()); 
            Item it = title.getItemWithId(Integer.valueOf(s).intValue()); 
            Loan loan = new Loan(it.getObjId(),borrower.getObjId()); 
            loan.store(); 
            it.setLoan(loan.getObjId()); 
            it.update(); 
 
            borrower.addLoan(loan.getObjId()); 
            borrower.update(); 
 
		    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); 
            String listString; 
            if (it.isBorrowed()) 
                listString = "(B):"; 
            else 
                listString = "(F):"; 
            listString = listString + Integer.toString(it.getId()); 
            itemList.addItem(listString); 
        } 
        CheckStatus(); 
    } 
    public void resultBorrower(ObjId borrowerid) 
    { 
        borrower = BorrowerInformation.getBorrowerInformation(borrowerid); 
        borrowerField.setText(borrower.getLastName()); 
        CheckStatus(); 
    } 
    private void CheckStatus() 
    { 
        if (borrower != null && title != null && itemList.getSelectedIndex() != -1) 
            okButton.enable(); 
        else 
            okButton.disable(); 
    } 
	public LendItemFrame() { 
 
		//{{INIT_CONTROLS 
		setLayout(null); 
		addNotify(); 
		resize(insets().left + insets().right + 442,insets().top + insets().bottom + 282); 
		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); 
		borrowerField = new java.awt.TextField(); 
		borrowerField.setEditable(false); 
		borrowerField.reshape(insets().left + 96,insets().top + 168,168,24); 
		borrowerField.setBackground(new Color(12632256)); 
		add(borrowerField); 
		label3 = new java.awt.Label("Borrower"); 
		label3.reshape(insets().left + 24,insets().top + 168,72,20); 
		add(label3); 
		FindTitleButton = new java.awt.Button("Find Title"); 
		FindTitleButton.reshape(insets().left + 288,insets().top + 24,132,24); 
		add(FindTitleButton); 
		FindBorrowerInformation = new java.awt.Button("Find Borrower"); 
		FindBorrowerInformation.reshape(insets().left + 288,insets().top + 168,132,24); 
		add(FindBorrowerInformation); 
		itemList = new java.awt.List(0,false); 
		add(itemList); 
		label2 = new java.awt.Label("Author"); 
		label2.reshape(insets().left + 24,insets().top + 60,48,20); 
		add(label2); 
 
		okButton = new java.awt.Button("OK (Confirm Loan)"); 
		okButton.reshape(insets().left + 180,insets().top + 228,156,24); 
		add(okButton); 
		cancelButton = new java.awt.Button("Cancel"); 
		cancelButton.reshape(insets().left + 360,insets().top + 228,60,24); 
		add(cancelButton); 
 
		itemList.reshape(insets().left + 96,insets().top + 96,60,54); 
		label4 = new java.awt.Label("Items"); 
		label4.reshape(insets().left + 24,insets().top + 96,48,20); 
		add(label4); 
		label5 = new java.awt.Label("B = Borrowed"); 
		label5.reshape(insets().left + 180,insets().top + 96,96,20); 
		add(label5); 
		label6 = new java.awt.Label("F = Free"); 
		label6.reshape(insets().left + 180,insets().top + 120,96,20); 
		add(label6); 
		setTitle("Lend Item"); 
		//}} 
        okButton.disable(); 
		//{{INIT_MENUS 
		//}} 
	} 
 
	public LendItemFrame(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 == FindBorrowerInformation && event.id == Event.ACTION_EVENT) { 
			FindBorrowerInformation_Clicked(event); 
			return true; 
		} 
		if (event.target == okButton && event.id == Event.ACTION_EVENT) { 
			okButton_Clicked(event); 
			return true; 
		} 
		if (event.target == cancelButton && event.id == Event.ACTION_EVENT) { 
			cancelButton_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.TextField borrowerField; 
	java.awt.Label label3; 
	java.awt.Button FindBorrowerInformation; 
	java.awt.Label label2; 
	java.awt.Button FindTitleButton; 
	java.awt.Button okButton; 
	java.awt.Button cancelButton; 
	java.awt.List itemList; 
	java.awt.Label label4; 
	java.awt.Label label5; 
	java.awt.Label label6; 
	//}} 
 
	//{{DECLARE_MENUS 
	//}} 
}