📄 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
//}}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -