Computers & Internet Logo

Related Topics:

Shawn Stevens Posted on Jan 26, 2008
Answered by a Fixya Expert

Trustworthy Expert Solutions

At Fixya.com, our trusted experts are meticulously vetted and possess extensive experience in their respective fields. Backed by a community of knowledgeable professionals, our platform ensures that the solutions provided are thoroughly researched and validated.

View Our Top Experts

Java gui code

Ok i am exhausted attempting to puch usless info into my brain! My LAST CLASS before graduation is basic java but it is anything but basic - I am in need to understand and find code to list products in an generated inventory that is input by the user and given a cost and quantity - the teach just keep throwing code at us and not explaining what they are for!! im am totally lost and frustrated... can ANYONe point me to a site that has classes in a library that we can pull and manipulate to work (i can DO that ) as the real programmers do?

  • 2 more comments 
  • Shawn Stevens Jan 26, 2008

    Oh i was told in class that programmers have access to libraries of "classes" to use in their programming and they dont have to re-invent the wheel.attached is the code and i am not understanding the multiple class needs. the project:

    Modify the Inventory Program to use a GUI. The GUI should display the information one product at a time, including the item number, the name of the product, the number of units in stock, the price of each unit, and the value of the inventory of that product. In addition, the GUI should display the value of the entire inventory, the additional attribute, and the restocking fee.



    the current code:

    // this class build the inventory and prints it
    //orig author Estey - modified by stevens

    import java.util.Arrays;

    public class Inventory {

    Product[] product = new Product[4];

    public Inventory() {
    buildInventory();
    sortInventoryByName();
    displayInventory();
    }

    public void buildInventory() {

    product[0] = new Product(1, "socket set", 3, 19.99);
    product[1] = new Product(2, "wratchet head", 4, 8.95);
    product[2] = new Product(3, "hammer", 8, 10.95);
    product[3] = new Product(4, "carpentry books", 15, 19.95);
    }

    public void displayInventory() {

    double totalPrice = 0.0;

    for(int i = 0; i < product.length; i++) {
    System.out.println("Number: " + product[i].getNumber());
    System.out.println("Name: " + product[i].getName());
    System.out.println("Quantity: " + product[i].getQuantity());
    System.out.println("Price: " + product[i].getPrice());
    System.out.println("Item Value: " +
    product[i].getQuantity() * product[i].getPrice());

    Restock restock = new Restock();

    System.out.printf("charge a Restock Fee: %.2f\n",
    restock.getRestockValue(product[i].getPrice()) *
    product[i].getQuantity());

    System.out.println();
    totalPrice += product[i].getPrice();
    }

    System.out.println("product Total: " + totalPrice);
    }

    public void sortInventoryByName() {
    Arrays.sort(product);
    }
    }

  • Shawn Stevens Jan 26, 2008

    and thank ya for the prompt response!

  • Shawn Stevens Jan 26, 2008

    By reading everything that you posted (thanks for the indepth explaination BTW) it helps me to better understand what i am looking at in the code. I have the accounting and inventory codes all done and compiled as well... the program runs and does just what you said... it displays all the inventory, its quantity and value then the last line is total value (i did not write all this code ... most was written by the teacher i just modified it to suit my needs) the real problem comes with adding in the GUI to work like i listed above... its late and i appreciate your help..understanding this.. my assignment is due in an hour so i will go through my reading from class again and see if i can contrust a GUI class and figure out how to call it into the mnain program...

  • Anonymous May 11, 2010

    No. Real programmers do not just pull known code from someone else and screw around with it to make it work for you. They write it themselves.



    If you need help understanding the code your teacher has given you, post it. We can help you with that.

×

1 Answer

Anonymous

Level 2:

An expert who has achieved level 2 by getting 100 points

MVP:

An expert that got 5 achievements.

Novelist:

An expert who has written 50 answers of more than 400 characters.

Governor:

An expert whose answer got voted for 20 times.

  • Expert 171 Answers
  • Posted on Jan 26, 2008
Anonymous
Expert
Level 2:

An expert who has achieved level 2 by getting 100 points

MVP:

An expert that got 5 achievements.

Novelist:

An expert who has written 50 answers of more than 400 characters.

Governor:

An expert whose answer got voted for 20 times.

Joined: Jan 25, 2008
Answers
171
Questions
0
Helped
64754
Points
348

Okay. I'll try and explain what this code is doing for you.

First thing you need to understand is your "gui" is what is known as "Standard Out" and "Standard In", this is how Java outputs text to the console, and how it inputs text written by a user from the console. A function like "System.out.println([some string])" will print out that line to the console.

Second thing is the idea of classes. A class can be thought of like a code "blueprint". You write the blueprint, and then you create individual "objects" based on that class in your code. While each object is independant, and has it's own properties, functions, and its own spot in memory, it is based on the same code.

If I made a class called, say, "Shape", and I gave it two properties, "Size" and "Color", then I could in my program make lots of different "Shape" objects and they would each have their own independant sizes and colors. Yet, if I made a function in the class called "Draw" which magically drew it on the screen in the appropriate size and color that I had specified, I could call "Draw" for each object, and each shape would be drawn on teh screen. The same code is being executed for each shape, but with different values for the size and color, since each shape object is its own unique entity with its own size and color.

The whole point of classes is so that you don't rewrite code. If you needed to have 1000 shapes on the screen, it would be silly to write the drawing code out 1000 times, one for each shape. It's much easier to write a single blueprint that applies to all shapes.

That said, your code above has a number of "classes" at work.

The "Products" class is a class which stores information about a "Product". In your case, this info looks like it is the name of the product, it's price, how many are in stock etc.

The "Inventory" class is a class who's purpose it is to keep track of an array of products. There are a bunch of functions inside this class. I'll describe what they do below


The buildinventory() function appears to build up a list of products for use in the inventory. Notice how it calls the line:

product[0] = new Product(1, "socket set", 3, 19.99);
filling up the "product" array? Each call there created a new "Product" object which was based on the "Product" class. So each object has it's own name, inventory number, stock, price etc, but they all have the same set of functions to do things like, say, get the price of the product (the getPrice() function), or get the name of the product (the getName() function). It's the same function, as defined in the Product class, but when called on a different product object, it will return different results. This works well for an inventory program.

The "DisplayInventory" function loops through all of the products that the inventory class has created, and outputs information about each one to the screen. By the looks of it it is also keeping track of the total value of the inventory, in a variable called "totalPrice". Every time it loops through a product, it adds the product's price onto the total. The idea is once that while loop has finished, that variable will hold the final "total" of the inventory. After the loop has finished you can do a System.out.println() and use that variable to display the final total. This is probably part of what your project is asking you to do.

The "SortInventoryByName" function simply sorts the list of products that the Inventory class has created based on the name of the product. It does this using a build in Java class that you don't need to worry about.

You'll notice a function that is just called "Inventory()" near the top. This is called the "constructor". When you create a class, the class sometimes has to do a bit of initialization work before it is usable. This function is called as soon as the class is instantiated as an object somewhere in your code. So in this case, when you eventually create an inventory object, that function will be called and the inventory will be built (by calling buildInventory()), sorted (by calling sortInventoryByName()), and displayed (by calling displayInventory()).

------------

So it looks like you have this great Inventory class that does everything you need it to do. So now what? It still doesn't do anything! The reason is because it itself is just a class. It's a BLUEPRINT for an inventory. You need a Java program to USE the inventory class to actually do something useful.

You need to make a java program with a sub main() in it (just like every program you've ever made in this class). And inside there initialize a new inventory object, just like how the inventory object made product objects.
e.g.
Inventory myInventory = new Inventory();

Remember the Inventory() constructor! It will get called here, and the inventory class will go ahead and build an inventory, sort it, and display it on the screen.


So hopefully this will help you to understand your class a bit better. Again, real programmers don't just take classes and use them, they need to understand how they work. It's true that occasionally you can find something that does what you need it to do, and you don't need to "Reinvent" the wheel, but if you are unable to understand what it is doing, you can never modify it or tweak it, and if your problem isn't perfectly solved using the class, the class is useless to you. Programmers write their own modules and re-use them as they see fit, and occasionally they use someone else's code as a template. This is why you are learning how to modify an existing class.

Add Your Answer

×

Uploading: 0%

my-video-file.mp4

Complete. Click "Add" to insert your video. Add

×

Loading...
Loading...

Related Questions:

0helpful
1answer

If the visual basic have its toolbox, what about the Java?

there is no toolbox for sun java programming for it is not a gui language.
if u want java with toolbox,"visual java" is availale on the net, which is pretty much similar to visual basic,the only difference being the language used in the former is "java" and that which used in the latter is "basic".
0helpful
1answer

I am doing research on PC vs Mac for unix programming. What are the differences? Which Platform would be preferred?

That was a rather open question.

As long as the language is standards-based, you should have no problem using the language on any platform where it's certified.

That said, anything related to utilising specific operating-system related features such as GUI are much different, except in Java. Since Java is the same output regardless of platform (but version-specific), you can run it on any platform with the correct version (usually the same or newer) Java Virtual Machine. As mentioned, Java programming is the same on almost any platform. Traditionally, Macs lagged way behind Windows as far as Java releases are concerned, but the lag a lot less now (a few months, sometimes less). Macs also are much more Java-friendly.

Non-Java GUI programming is, as mentioned, much different. Honestly, enough tools exist on both platforms to make GUI programming similar in experience, though much different in actual code.

C, C++ both program the same on either platform (again, GUI code will be platform-specific).

A giant plus to Mac programming is that you have access to all the UNIX-type stuff in a way which is a part of the OS, as opposed to on a PC, where it all needs to be added on. I love the Terminal app on OS X - nothing like it on PCs.

Finally, if you're backed by someone with money, the tools on PCs are a bit better than what OS X has to offer, but not substantially.
1helpful
4answers

Java is not working

Hello there :
first you are going to want to ensure that your your current version of java is installed correctly and is not corrupted and if it needs to be reinstalled
download the latest java version and reinstall this . www.java.com
this should be able to take care of the problem that you are having ok?
best regards michael
1helpful
5answers

Can anyone tell how run java program in cmd prompt???

Hi,

You need to type:

If it's a program.class

java program

or of it's a program.jar

java -jar program.jar

regards
4helpful
2answers

SECRET CODES

SAMSUNG UNLOCK CODE....
*2767*688# = Unlocking Code
*#8999*8378# = All in one Code
*#4777*8665# = GPSR Tool
*#8999*523# = LCD Brightness
*#8999*3825523# = External Display
*#8999*377# = Errors
#*5737425# = JAVA Something{I choose 2 and it chrashed}][/b]
*#2255# = Call List
#*536961# = Java Status Code
#*536962# = Java Status Code
#*536963# = Java Status Code
#*53696# = Java Status Code

#*1200# = AFC DAC Val
#*1300# = IMEI
#*1400# = IMSI
#*7222# = Operation Typ (Class C GSM)
#*7224# = I Got !! ERROR !!
#*7252# = Oparation Typ (Class B GPRS)
#*7271# = Multi Slot (Class 1 GPRS)
#*7274# = Multi Slot (Class 4 GPRS)
#*7276# = Dunno
#*7337# = EEPROM Reset (Unlock and Resets Wap Settings)
#*2787# = CRTP ON/OFF
#*3737# = L1 Dbg data
#*5133# = L1 Dbg data
#*7288# = GPRS Attached
#*7287# = GPRS Detached
#*7666# = SrCell Data
#*7693# = Sleep Act/DeAct (Enable or Disable the Black screen after doing nothing for a while)
#*7284# = Class : B,C or GPRS
#*2256# = Calibration Info
#*2286# = Battery Data
#*2527# = GPRS Switching (set to: class 4, class 8, class 9 or class 10)
#*2679# = Copycat feature (Activate or Deactivate)
#*3940# = External loop test 9600 bps
#*4263# = Handsfree mode (Activate or Deactivate)
#*4700# = Half Rate (Activate or Deactivate)
#*7352# = BVMC Reg value
#*8462# = Sleeptime
#*2558# = Time ON
#*3370# = EFR (Activate or Deactivate)
#*3941# = External looptest 115200 bps
#*5176# = L1 Sleep
#*7462# = SIM phase
#*7983# = Voltage/Frequenci (Activate or Deactivate)
#*7986# = Voltage (Activate or Deactivate)
#*8466# = Old time
#*2255# = Call ???
#*5187# = L1C2G trace (Activate or Deactivate)
#*5376# = ??? White for 15 secs than restarts.
#*6837# = Official Software Version
#*7524# = KCGPRS
#*7562# = LOCI GPRS
#*7638# = RLC allways open ended TBF (Activate or Deactivate)
#*7632# = Sleep mode Debug
#*7673# = Sleep mode RESET
#*2337# = Permanent Registration Beep
Mar 16, 2009 • Cell Phones
0helpful
1answer

What is swing components?

Swing is java library that provides basic GUI controls [also called widgets like buttons, checkboxes, labels, menus, etc.. You can use it to create a interactive application with nice interface.

More info here http://en.wikipedia.org/wiki/Swing_(Java)
0helpful
1answer

How to write jdbc connections

http://www.jdbc-tutorial.com/

window.google_render_ad();

welcome_title_image.gif Java JDBC Tutorial Java JDBC Tutorial
The JDBC ( Java Database Connectivity) API defines interfaces and classes for writing database applications in Java by making database connections. Using JDBC you can send SQL, PL/SQL statements to almost any relational database. JDBC is a Java API for executing SQL statements and supports basic SQL functionality. It provides RDBMS access by allowing you to embed SQL inside Java code. Because Java can run on a thin client, applets embedded in Web pages can contain downloadable JDBC code to enable remote database access. You will learn how to create a table, insert values into it, query the table, retrieve results, and update the table with the help of a JDBC Program example.


window.google_render_ad();
Although JDBC was designed specifically to provide a Java interface to relational databases, you may find that you need to write Java code to access non-relational databases as well.
JDBC Architecture jdbc.jpg Java application calls the JDBC library. JDBC loads a driver which talks to the database. We can change database engines without changing database code.
JDBC Basics - Java Database Connectivity Steps Before you can create a java jdbc connection to the database, you must first import the
java.sql package.
import java.sql.*; The star ( * ) indicates that all of the classes in the package java.sql are to be imported.
1. Loading a database driver,
In this step of the jdbc connection process, we load the driver class by calling Class.forName() with the Driver class name as an argument. Once loaded, the Driver class creates an instance of itself. A client can connect to Database Server through JDBC Driver. Since most of the Database servers support ODBC driver therefore JDBC-ODBC Bridge driver is commonly used.
The return type of the Class.forName (String ClassName) method is “Class”. Class is a class in
java.lang package.
try { Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver”); //Or any other driver } catch(Exception x){ System.out.println( “Unable to load the driver class!” ); } 2. Creating a oracle jdbc Connection

The JDBC DriverManager class defines objects which can connect Java applications to a JDBC driver. DriverManager is considered the backbone of JDBC architecture. DriverManager class manages the JDBC drivers that are installed on the system. Its getConnection() method is used to establish a connection to a database. It uses a username, password, and a jdbc url to establish a connection to the database and returns a connection object. A jdbc Connection represents a session/connection with a specific database. Within the context of a Connection, SQL, PL/SQL statements are executed and results are returned. An application can have one or more connections with a single database, or it can have many connections with different databases. A Connection object provides metadata i.e. information about the database, tables, and fields. It also contains methods to deal with transactions.
JDBC URL Syntax:: jdbc: <subprotocol>: <subname> JDBC URL Example:: jdbc: <subprotocol>: <subname>•Each driver
Not finding what you are looking for?

420 views

Ask a Question

Usually answered in minutes!

Top Computers & Internet Experts

Grand Canyon Tech
Grand Canyon Tech

Level 3 Expert

3867 Answers

Brad Brown

Level 3 Expert

19187 Answers

Cindy Wells

Level 3 Expert

6688 Answers

Are you a Computer and Internet Expert? Answer questions, earn points and help others

Answer questions

Manuals & User Guides

Loading...