📄 cancelreservationframe.java
字号:
//
// Unified Library Application
// Case study in Unified Modeling Language Toolkit
//
// CancelReservationFrame.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 util.ObjId;
import bo.*;
import java.awt.*;
public class CancelReservationFrame extends Frame implements ResultOfFindTitle {
private Title title;
private BorrowerInformation borrower;
void findTitleButton_Clicked(Event event) {
FindTitleDialog dlg = new FindTitleDialog(this,true);
dlg.show();
}
void okButton_Clicked(Event event) {
if (title == null || borrowerList.getSelectedIndex() == -1)
{
new MessageBox(this,"Not all information given!");
}
else
{
Reservation res;
String borrowername = borrowerList.getItem(borrowerList.getSelectedIndex());
borrower = BorrowerInformation.findOnLastName(borrowername);
int index = 0;
while ( (res = borrower.getReservation(index)) != null)
{
if (res.getTitle().getTitle().equals(title.getTitle()))
{
ObjId oid = res.getObjId();
borrower.removeReservation(oid);
borrower.update();
break;
}
index++;
}
index = 0;
while ( (res = title.getReservation(index)) != null)
{
if (res.getBorrower().getLastName().equals(borrower.getLastName()))
{
title.removeReservation(res.getObjId());
title.update();
break;
}
index++;
}
if (res == null)
{
new MessageBox(this,"There is no such reservation stored!");
return;
}
res.delete();
dispose();
}
}
void cancelButton_Clicked(Event event) {
dispose();
}
void borrowerList_ListSelect(Event event) {
checkStatus();
}
public void resultTitle(ObjId titleid)
{
title = Title.getTitle(titleid);
titleField.setText(title.getTitle());
authorField.setText(title.getAuthor());
int noReservations = title.getNoReservations();
for (int i = 0; i < noReservations; i++)
{
Reservation res = title.getReservation(i);
BorrowerInformation borrow = res.getBorrower();
borrowerList.addItem(borrow.getLastName());
}
checkStatus();
}
private void checkStatus()
{
if (title == null || borrowerList.getSelectedIndex() == -1)
okButton.disable();
else
okButton.enable();
}
public CancelReservationFrame() {
//{{INIT_CONTROLS
setLayout(null);
addNotify();
resize(insets().left + insets().right + 430,insets().top + insets().bottom + 288);
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,108,24);
add(findTitleButton);
okButton = new java.awt.Button("OK (Reservation cancelled)");
okButton.reshape(insets().left + 96,insets().top + 240,216,24);
add(okButton);
cancelButton = new java.awt.Button("Close");
cancelButton.reshape(insets().left + 336,insets().top + 240,60,24);
add(cancelButton);
label3 = new java.awt.Label("Borrowers");
label3.reshape(insets().left + 24,insets().top + 108,60,20);
add(label3);
borrowerList = new java.awt.List(0,false);
add(borrowerList);
borrowerList.reshape(insets().left + 96,insets().top + 108,178,107);
setTitle("Remove Reservation");
//}}
okButton.disable();
//{{INIT_MENUS
//}}
}
public CancelReservationFrame(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 == 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 == findTitleButton && event.id == Event.ACTION_EVENT) {
findTitleButton_Clicked(event);
return true;
}
if (event.target == borrowerList && event.id == Event.LIST_SELECT) {
borrowerList_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.List borrowerList;
//}}
//{{DECLARE_MENUS
//}}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -