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

📄 updatetitleframe.java

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