ERROR
[method addActionListen er in class javax.swing.Abs tractButton cannot be applied to giventypes;
requires:java.a wt.event.Action Listener found: Bookshop.produc t
reason: actual argument Bookshop.produc t cannot be converted to java.awt.event. ActionListener by method invocation conversion]
section marked in the attachment
Thanks
[method addActionListen er in class javax.swing.Abs tractButton cannot be applied to giventypes;
requires:java.a wt.event.Action Listener found: Bookshop.produc t
reason: actual argument Bookshop.produc t cannot be converted to java.awt.event. ActionListener by method invocation conversion]
Code:
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Bookshop extends JFrame implements ActionListener { JTextField productIdText; JTextField productNameText; JTextField productCostText; JTextField productyearOfPublicationText; JTextField productpublishingHouseText; JButton submit; Product [] productList = new Product [100];//productList array to store Person objects int numberOfProduct = 0;// counter to know how many objects are in the array public void actionPerformed(ActionEvent e) { if(e.getSource() == submit)// get the data from textfields { int id = Integer.parseInt(productIdText.getText()); String name = productNameText.getText(); double cost = Double.parseDouble(productCostText.getText()); int yearOfPublication = Integer.parseInt(productyearOfPublicationText.getText()); String publishingHouse = productpublishingHouseText.getText(); //System.out.println(id); //System.out.println(name); // put new object into array productList[numberOfProduct] = new Product(id,name,cost,yearOfPublication,publishingHouse); numberOfProduct++; } } public static void main(String []args) { new Bookshop(); } class Product { private int productId; private String productName; private double cost; private int yearOfPublication; private String publishingHouse; public Product(int productId,String productName,double cost,int yearOfPublication,String publishingHouse) { this.productId = productId; this.productName = productName; this.cost = cost; this.yearOfPublication = yearOfPublication; this.publishingHouse = publishingHouse; setSize(400,400); setLayout(new FlowLayout()); productIdText = new JTextField(5); add(productIdText); productNameText = new JTextField(5); add(productNameText); productCostText = new JTextField(5); add(productCostText); productyearOfPublicationText = new JTextField(5); add(productyearOfPublicationText); productpublishingHouseText = new JTextField(5); add(productpublishingHouseText); submit = new JButton("click"); submit.addActionListener(this); add(submit); setVisible(true); } public void setSize(int x,int y) { } public void setproductIdText(int productIdText) { this.productIdText=productIdText; } public void setproductNameText(String productNameText) { this.productNameText = productNameText; } public void setId(int productId) { this.productId = productId; } public int getproductId() { return productId; } public void setproductName(String productName) { this.productName = productName; } public String getproductName() { return productName; } public void setcost(double cost) { this.cost = cost; } public double getcost() { return cost; } public void setyearOfPublication(int yearOfPublication) { this.yearOfPublication = yearOfPublication; } public int getyearOfPublication() { return yearOfPublication; } public void setpublishingHouse(String publishingHouse) { this.publishingHouse = publishingHouse; } public String getpublishingHouse() { return publishingHouse; } } class Book extends Product { private String author; private int isbn; private int numberOfPages; public Book(String author, int isbn, int numberOfPages, int productId, String productName, double cost, int yearOfPublication, String publishingHouse) { super(productId,productName,cost,yearOfPublication,publishingHouse); this.author = author; this.isbn = isbn; this.numberOfPages = numberOfPages; } } class Software extends Product { private int ram; private int processor; public Software(int ram,int processor,int productId, String productName, double cost, int yearOfPublication, String publishingHouse) { super(productId,productName,cost,yearOfPublication,publishingHouse); this.ram = ram; this.processor = processor; } } }
Thanks
Comment