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