У меня есть класс Java, к которому я хочу добавить некоторые функции графического интерфейса, чтобы я мог, например, возвращать названия книг или стоимость, я знаю, что мне нужно реализовать слушатели действий, но я не знаю, с чего начать, любые указатели будут высоко оценены. код ниже -
import java.text.*;
public class Book
{
public static void main (String[] args)
{
}
// Instance variables
private String title, author, publisher;
private int year;
private double cost;
/**
* Book constructor that initialises the instance variables based on user input.
*
* @param title The title of the book
* @param author The author of the book
* @param year The year the book was published
* @param publisher The name of the publisher of the book
* @param cost The cost of the book
*/
public Book(String title, String author, int year, String publisher, double cost)
{
this.title = title;
this.author = author;
this.year = year;
this.publisher = publisher;
this.cost = cost;
}
/**
* Accessor for the title of the book.
* @return the title of the book.
*/
public String getTitle()
{
return title;
}
/**
* Accessor for the author of the book.
* @return the author of the book.
*/
public String getAuthor()
{
return author;
}
/**
* Accessor for the year the book was published.
* @return the year the book was published.
*/
public int getYear()
{
return year;
}
/**
* Accessor for the publisher of the book.
* @return the publisher of the book.
*/
public String getPublisher()
{
return publisher;
}
/**
* Accessor for the cost of the book.
* @return the cost of the book.
*/
public double getCost()
{
return cost;
}
/**
* Mutator for updating the title of the book.
* @param title The new title of the book.
*/
public void setTitle(String title)
{
this.title = title;
}
/**
* Mutator for updating the author of the book.
* @param author The new author of the book.
*/
public void setAuthor(String author)
{
this.author = author;
}
/**
* Mutator for updating the year of the book.
* @param year The new year of the book.
*/
public void setYear(int year)
{
this.year = year;
}
/**
* Mutator for updating the publisher of the book.
* @param publisher The new publisher of the book.
*/
public void setPublisher(String publisher)
{
this.publisher = publisher;
}
/**
* Mutator for updating the cost of the book.
* @param cost The new cost of the book.
*/
public void setCost(double cost)
{
this.cost = cost;
}
/**
* The standard toString method that returns the details of the book
* @return the details of the book formatted as a String.
*/
public String toString()
{
return "The details of the book are: " + title +
", " + author + ", " + year + ", " + publisher + ", " + cost;
}
}
Edit:
HI, ВОТ Второй класс это СКЛАД для книг - Я полагаю, мне нужно создать третий класс под названием что-то вроде BOOKDISPLAY КОТОРЫХ обработают элементы графического интерфейса пользователя Я знаю, что НЕСЕТ нужно добавить ACTION слушатель два классов КНИГИ И КНИЖНАЯ ПОЛКА И ТРЕТИЙ КЛАСС БУДУТ РАБОТАТЬ С ОТОБРАЖЕНИЕМ, НО УЖЕ УЖАСНО НАЧИНАЮТСЯ. НЕКОТОРАЯ ПОМОЩЬ ПОЛУЧЕНИЕ ИДЕТ И ПОЯСНЯЕТ, КАК КЛАСС ДИСПЛЕЯ «ГОВОРИТ» С МЕТОДАМИ КНИГИ И КНИЖНОЙ ПОЛКИ, БУДУТ ДЕЙСТВИТЕЛЬНО ЦЕНЫ. СПАСИБО, G, ЧТОБЫ ОТВЕТИТЬ НА ВОПРОС 'HOVERCRAFTS', САМАЯ БОЛЬШАЯ ПРОБЛЕМА, КОТОРАЯ Я УЧАСТВУЮ В ЭТОМ ПРОЕКТЕ, НАЧИНАЕТ ЧАСТИ GUI И СЛУШАТЕЛЯ!
import java.util.ArrayList;
public class BookShelf
{
//create an ArrayList of Book.
private ArrayList<Book> books;
public BookShelf()
{
books = new ArrayList<Book>();
}
/**
* This method adds a Book object to the ArrayList
*
* @param theBook The book object that will be added to the ArrayList
*
*/
public void addBook(Book theBook)
{
books.add(theBook);
}
/**
* This method returns the size of the ArrayList, that is, the number of books
* that have been added to the ArrayList
*
* @return The size of the ArrayList
*/
public int sizeOfBookshelf()
{
return books.size();
}
/**
* This method calculates the cost of the book shelf, that is, it totals the
* cost of all the books in the ArrayList and returns it.
*
* @return The cost of the book shelf
*/
public double costOfBookshelf(){
double total = 0;
for(Book book : books) {
total = total + book.getCost();
}
return total;
}
//create a method called highestPricePAid that will return the cost of the most expensive book in the ArrayList
/**
* This method finds the price of the most expensive book in the ArrayList and returns it.
*
* @return The cost of the most expensive book on the book shelf
*/
public double highestPricePaid(){
double highestPrice = 0;
for(Book book : books) {
if((highestPrice == 0) || (highestPrice < book.getCost())) {
highestPrice = book.getCost(); }
}
return highestPrice;
}
}