Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Java Program - GUI help - Create an interface for the user to add, remove, sort, filter, save and load information from our flower pack.

Java Program - GUI help

- Create an interface for the user to add, remove, sort, filter, save and load information from our flower pack. -You should USE ALL of the following at least once in your interface: JFrame JButton JLabel JTextField JCheckBox / JRadioButton Layout (Flow, grid,or border layouts) JMenu JMenuItem

-The flower pack should hold flowers, weeds, fungus, and now herbs. All should be a subclass of a plant class. -Each subclass shares certain qualities (ID, Name, and Color) -Flower traits include (Thorns, and Smell) -Fungus traits include (Poisonous) -Weed traits include (Poisonous, Edible and Medicinal) -Herb traits include (Flavor, Medicinal, Seasonal)

Use the code below:

package flowerpack; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.Scanner;

public class FlowerPack { public static void main(String[] args) { try{ ArrayList flowerPack= new ArrayList<>(); Scanner input=new Scanner(System.in); int choice; String name, color, ID; boolean poisonous,edible,medicinal,smell,thorns; while(true) { System.out.println(" 1. Add plants"); System.out.println("2. Remove plants"); System.out.println("3. Search plants"); System.out.println("4. Filter plants"); System.out.println("5. Save to file"); System.out.println("6. Load from file"); System.out.println("7. Quit"); System.out.print("Enter your choice: "); choice=input.nextInt(); switch(choice) { case 1: input.nextLine(); System.out.print("You want to add Flower, Fungus or Weed? "); String type=input.nextLine(); if(type.equalsIgnoreCase("Flower")) { System.out.print("Enter name : "); name=input.nextLine(); System.out.print("Enter ID : "); ID=input.nextLine(); System.out.print("Enter color : "); color=input.nextLine(); System.out.print("Has thorns? "); thorns=input.hasNextBoolean(); input.nextLine(); System.out.print("Has smell? "); smell=input.hasNextBoolean(); input.nextLine(); flowerPack.add(new Flower(name,ID,color,thorns,smell)); } else if(type.equalsIgnoreCase("Fungus")) { System.out.print("Enter name : "); name=input.nextLine(); System.out.print("Enter ID : "); ID=input.nextLine(); System.out.print("Enter color : "); color=input.nextLine(); System.out.print("Is it poisonous? "); poisonous=input.hasNextBoolean(); input.nextLine(); flowerPack.add(new Fungus(name,ID,color,poisonous)); } else if(type.equalsIgnoreCase("Weed")) { System.out.print("Enter name : "); name=input.nextLine(); System.out.print("Enter ID : "); ID=input.nextLine(); System.out.print("Enter color : "); color=input.nextLine(); System.out.print("Is it Poisonous? "); poisonous=input.hasNextBoolean(); input.nextLine(); System.out.print("Is it Edible? "); edible=input.hasNextBoolean(); input.nextLine(); System.out.print("Is it Medicinal? "); medicinal=input.hasNextBoolean(); input.nextLine(); flowerPack.add(new Weed(name,ID,color,poisonous,edible,medicinal)); } break; case 2:input.nextLine(); System.out.print("Enter the name of the plant you want to remove : "); name=input.nextLine(); int flag=0; for(Plant plant:flowerPack) { if(plant.getName().equalsIgnoreCase(name)) { System.out.println("plant removed sucessfully") ; flag=1; break; } } if(flag==0) { System.out.println("plant not found") ; } break; case 3: input.nextLine(); System.out.print("Enter the name of the plant you want to search : "); name=input.nextLine(); int f=0; for(Plant plant:flowerPack) { if(plant.getName().equalsIgnoreCase(name)) { System.out.println("plant found sucessfully") ; f=1; break; } } if(f==0) { System.out.println("plant not found") ; } break; case 4: input.nextLine(); System.out.print("Enter the name of the plant you want to filter: "); name=input.nextLine(); f=0; for(Plant plant:flowerPack) { if(plant.getName().equalsIgnoreCase(name)) { System.out.println("Name: " + plant.getName() + "\tID: " + plant.getID()) ; f=1; } } if(f==0) { System.out.println("NO plant of this name in List") ; } break; case 5: File file = new File("Plants.txt"); FileOutputStream fStream = new FileOutputStream(file); ObjectOutputStream stream = new ObjectOutputStream(fStream); stream.writeObject(flowerPack); stream.close(); break; case 6: File file2 = new File("Plants.txt"); FileInputStream fileStream = new FileInputStream(file2); ObjectInputStream oStream = new ObjectInputStream(fileStream); ArrayList readObject = ((ArrayList)oStream.readObject()); flowerPack.addAll(readObject); oStream.close(); break; case 7: System.exit(0); } } }catch(Exception e) { System.out.println(e); } }

}

******* package flowerpack;

import java.io.Serializable;

public class Plant implements Serializable{ String name; String ID; Plant(String name,String ID) { this.name=name; this.ID=ID; } public String getName() { return name; } public String getID() { return ID; }

******** package flowerpack;

class Fungus extends Plant { String Color; boolean Poisonous; public Fungus(String name, String ID,String Color,boolean Poisonous) { super(name, ID); this.Color=Color; this.Poisonous=Poisonous; } } ******* package flowerpack;

class Flower extends Plant { String color; boolean thorns; boolean smell; public Flower(String name, String ID,String color,boolean thorns,boolean smell) { super(name, ID); this.color=color; this.thorns=thorns; this.smell=smell; } } ********* package flowerpack;

class Weed extends Plant { String Color; boolean Poisonous; boolean Edible; boolean Medicinal; public Weed(String name, String ID,String Color,boolean Poisonous,boolean Edible, boolean Medicinal) { super(name, ID); this.Color=Color; this.Poisonous=Poisonous; this.Edible=Edible; this.Medicinal=Medicinal; } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Fundamentals Study Guide

Authors: Dr. Sergio Pisano

1st Edition

B09K1WW84J, 979-8985115307

More Books

Students also viewed these Databases questions