📄 updatetitleframe.java
字号:
//
// Unified Library Application
// Case study in Unified Modeling Language Toolkit
//
// UpdateTitleFrame.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 UpdateTitleFrame extends Frame {
private Title title;
void updateButton_Clicked(Event event)
{
if (title != null)
{
title.setTitle(titleField.getText());
title.setAuthor(authorField.getText());
title.setISBN(isbnField.getText());
if (bookButton.getState() == true)
title.setType(Title.TYPE_BOOK);
else
title.setType(Title.TYPE_MAGAZINE);
title.update();
}
}
void deleteButton_Clicked(Event event)
{
int nrItems = title.getNoItems();
for (int i = 0; i < nrItems ; i++)
{
Item item = title.getItem(i);
if (item.isBorrowed())
{
Loan loan = item.getLoan();
BorrowerInformation borrower = loan.getBorrower();
borrower.removeLoan(loan.getObjId());
loan.delete();
item.delete();
}
else
item.delete();
}
int nrReservations = title.getNoReservations();
for (int i = 0; i < nrReservations;i++)
{
Reservation res = title.getReservation(i);
BorrowerInformation borrower = res.getBorrower();
borrower.removeReservation(res.getObjId());
res.delete();
}
title.delete();
titleField.setText("");
authorField.setText("");
isbnField.setText("");
itemList.clear();
title = null;
}
void addItemButton_Clicked(Event event) {
if (title.getNoItems() > 25)
{
new MessageBox(this, "Maximum number of items is 25!");
return;
}
int topid = 0;
for (int i = 0; i < title.getNoItems(); i++)
{
Item it = title.getItem(i);
if (it.getId() > topid)
topid = it.getId();
}
topid++;
Item newitem = new Item(title.getObjId(),topid);
newitem.store();
title.addItem(newitem.getObjId());
title.update();
itemList.addItem("Item: " + Integer.toString(newitem.getId()));
}
void removeItemButton_Clicked(Event event) {
if (itemList.getSelectedIndex() != -1)
{
Item i = title.getItem(itemList.getSelectedIndex());
i.delete();
title.removeItemAtIndex(itemList.getSelectedIndex());
itemList.delItem(itemList.getSelectedIndex());
title.update();
}
else
{
new MessageBox(this,"No item is selected!");
}
}
void cancelButton_Clicked(Event event) {
dispose();
}
private void UpdateFrame(ObjId id)
{
title = Title.getTitle(id);
titleField.setText(title.getTitle());
authorField.setText(title.getAuthor());
isbnField.setText(title.getISBN());
if (title.getType() == Title.TYPE_BOOK)
bookButton.setState(true);
else
{
bookButton.setState(false);
magazineButton.setState(true);
}
int items = title.getNoItems();
itemList.clear();
for (int i = 0; i < items; i++)
{
Item it = title.getItem(i);
itemList.addItem("Item: " + Integer.toString(it.getId()));
}
}
public UpdateTitleFrame(ObjId id,boolean nodelete) {
//{{INIT_CONTROLS
setLayout(null);
addNotify();
resize(insets().left + insets().right + 457,insets().top + insets().bottom + 271);
setFont(new Font("Dialog", Font.PLAIN, 12));
titleLabel = new java.awt.Label("Title Name");
titleLabel.reshape(insets().left + 12,insets().top + 24,84,24);
add(titleLabel);
titleField = new java.awt.TextField();
titleField.reshape(insets().left + 132,insets().top + 24,183,24);
add(titleField);
isbnField = new java.awt.TextField();
isbnField.reshape(insets().left + 132,insets().top + 96,183,24);
add(isbnField);
authorField = new java.awt.TextField();
authorField.reshape(insets().left + 132,insets().top + 60,183,24);
add(authorField);
label1 = new java.awt.Label("ISBN / Nr");
label1.reshape(insets().left + 12,insets().top + 96,84,24);
add(label1);
label2 = new java.awt.Label("Author");
label2.reshape(insets().left + 12,insets().top + 60,84,24);
add(label2);
updateButton = new java.awt.Button("Update");
updateButton.reshape(insets().left + 336,insets().top + 24,84,24);
add(updateButton);
cancelButton = new java.awt.Button("Close");
cancelButton.reshape(insets().left + 336,insets().top + 228,84,24);
add(cancelButton);
label3 = new java.awt.Label("Items available");
label3.reshape(insets().left + 12,insets().top + 132,108,24);
add(label3);
removeItemButton = new java.awt.Button("Remove Item");
removeItemButton.reshape(insets().left + 336,insets().top + 132,84,24);
add(removeItemButton);
addItemButton = new java.awt.Button("Add Item");
addItemButton.reshape(insets().left + 336,insets().top + 168,84,24);
add(addItemButton);
itemList = new java.awt.List(0,false);
add(itemList);
itemList.reshape(insets().left + 132,insets().top + 132,72,70);
deleteButton = new java.awt.Button("Delete");
deleteButton.reshape(insets().left + 336,insets().top + 60,84,24);
add(deleteButton);
Group1 = new CheckboxGroup();
bookButton = new java.awt.Checkbox("Book", Group1, false);
bookButton.reshape(insets().left + 132,insets().top + 204,108,24);
add(bookButton);
magazineButton = new java.awt.Checkbox("Magazine", Group1, false);
magazineButton.reshape(insets().left + 132,insets().top + 228,108,24);
add(magazineButton);
label4 = new java.awt.Label("Type");
label4.reshape(insets().left + 12,insets().top + 204,108,24);
add(label4);
setTitle("Update Title / Item");
//}}
if (nodelete)
deleteButton.disable();
UpdateFrame(id);
titleField.requestFocus();
//{{INIT_MENUS
//}}
}
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 == cancelButton && event.id == Event.ACTION_EVENT) {
cancelButton_Clicked(event);
return true;
}
if (event.target == removeItemButton && event.id == Event.ACTION_EVENT) {
removeItemButton_Clicked(event);
return true;
}
if (event.target == addItemButton && event.id == Event.ACTION_EVENT) {
addItemButton_Clicked(event);
return true;
}
if (event.target == deleteButton && event.id == Event.ACTION_EVENT) {
deleteButton_Clicked(event);
return true;
}
if (event.target == updateButton && event.id == Event.ACTION_EVENT) {
updateButton_Clicked(event);
return true;
}
return super.handleEvent(event);
}
//{{DECLARE_CONTROLS
java.awt.Label titleLabel;
java.awt.TextField titleField;
java.awt.TextField isbnField;
java.awt.TextField authorField;
java.awt.Label label1;
java.awt.Label label2;
java.awt.Button updateButton;
java.awt.Button cancelButton;
java.awt.Label label3;
java.awt.Button removeItemButton;
java.awt.Button addItemButton;
java.awt.List itemList;
java.awt.Button deleteButton;
java.awt.Checkbox bookButton;
CheckboxGroup Group1;
java.awt.Checkbox magazineButton;
java.awt.Label label4;
//}}
//{{DECLARE_MENUS
//}}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -