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

📄 lenditemframe.java

📁 数据结构及算法 对于参加ACM的学生有一定帮助 里面有详细的解答
💻 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
	//}}
}

⌨️ 快捷键说明

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