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


// 
//  Unified Library Application 
//  Case study in Unified Modeling Language Toolkit 
// 
//  ReservationFrame.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 java.awt.*; 
import java.util.*; 
import util.*; 
 
public class ReservationFrame 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 findBorrowerButton_Clicked(Event event) { 
		FindBorrowerDialog dlg = new FindBorrowerDialog(this,true); 
		dlg.show(); 
	} 
 
	void okButton_Clicked(Event event) { 
		if (borrower == null || title == null) 
		{ 
		    new MessageBox(this,"Not enough information!"); 
		} 
		else 
		{ 
            Reservation reservation = new Reservation(title.getObjId(),borrower.getObjId()); 
            reservation.store(); 
            title.addReservation(reservation.getObjId()); 
            title.update(); 
 
            borrower.addReservation(reservation.getObjId()); 
            borrower.update(); 
 
		    dispose(); 
		} 
	} 
 
	void cancelButton_Clicked(Event event) { 
		dispose(); 
	} 
 
    public void resultTitle(ObjId titleid) 
    { 
        title = Title.getTitle(titleid); 
        titleField.setText(title.getTitle()); 
        authorField.setText(title.getAuthor()); 
        checkStatus(); 
    } 
    public void resultBorrower(ObjId borrowerid) 
    { 
        borrower = BorrowerInformation.getBorrowerInformation(borrowerid); 
        borrowerField.setText(borrower.getLastName()); 
        checkStatus(); 
    } 
 
    private void checkStatus() 
    { 
        if (borrower == null || title == null) 
            okButton.disable(); 
        else 
            okButton.enable(); 
    } 
 
	public ReservationFrame() { 
 
		//{{INIT_CONTROLS 
		setLayout(null); 
		addNotify(); 
		resize(insets().left + insets().right + 446,insets().top + insets().bottom + 208); 
		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 + 108,180,24); 
		borrowerField.setBackground(new Color(12632256)); 
		add(borrowerField); 
		label3 = new java.awt.Label("Borrower"); 
		label3.reshape(insets().left + 24,insets().top + 108,72,20); 
		add(label3); 
		FindTitleButton = new java.awt.Button("Find Title"); 
		FindTitleButton.reshape(insets().left + 288,insets().top + 24,120,24); 
		add(FindTitleButton); 
		findBorrowerButton = new java.awt.Button("Find Borrower"); 
		findBorrowerButton.reshape(insets().left + 288,insets().top + 108,120,24); 
		add(findBorrowerButton); 
		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 reservation)"); 
		okButton.reshape(insets().left + 132,insets().top + 156,192,24); 
		add(okButton); 
		cancelButton = new java.awt.Button("Close"); 
		cancelButton.reshape(insets().left + 348,insets().top + 156,60,24); 
		add(cancelButton); 
		setTitle("Reserve Title"); 
		//}} 
        okButton.disable(); 
		//{{INIT_MENUS 
		//}} 
	} 
 
	public ReservationFrame(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 == findBorrowerButton && event.id == Event.ACTION_EVENT) { 
			findBorrowerButton_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; 
		} 
		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 findBorrowerButton; 
	java.awt.Label label2; 
	java.awt.Button FindTitleButton; 
	java.awt.Button okButton; 
	java.awt.Button cancelButton; 
	//}} 
 
	//{{DECLARE_MENUS 
	//}} 
}