472,355 Members | 1,854 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,355 software developers and data experts.

Need help displaying array of objects using a GUI

sammyboy78
I'm trying to display an array of objects using a GUI. My instructions are that the CD class and it's sublcass don't need to change I just need to modify class CDInventory to include the GUI. I'm not even sure if the way I've written this is going to work but anyway, I keep getting a compilation error that says:

C:\Documents and Settings\Sam\GUICDInventory.java:22: cannot find symbol
symbol : constructor JList(CDInventory)
location: class javax.swing.JList
cDJList = new JList( gUICDInventory );


Here's the code where I get the error:

Expand|Select|Wrap|Line Numbers
  1. // GUICDInventory.java
  2. // uses CD class
  3. import java.awt.FlowLayout;
  4. import javax.swing.JFrame;
  5. import javax.swing.JLabel;
  6. import javax.swing.SwingConstants;
  7. import javax.swing.JList;
  8. import javax.swing.JScrollPane;
  9.  
  10. public class GUICDInventory extends JFrame
  11. {
  12.  
  13.     CDInventory gUICDInventory = new CDInventory();
  14.  
  15.     private JList cDJList;
  16.  
  17.     public GUICDInventory()
  18.     {
  19.         super( "Compact Disc Inventory" );
  20.         setLayout( new FlowLayout() );
  21.  
  22.         cDJList = new JList( gUICDInventory );
  23.         cDJList.setVisibleRowCount( 25 );
  24.  
  25.         add( new JScrollPane( cDJList ) );
  26.  
  27.  
  28.  
  29.     }
  30.  
  31.     // executes application
  32.   public static void main( String args[] )
  33.     {
  34.         GUICDInventory guICDInventory = new GUICDInventory();
  35.         guICDInventory.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  36.         guICDInventory.setSize( 500, 500 );
  37.         guICDInventory.setVisible( true );
  38.  
  39.     } // end main
  40.  
  41. } // end class GUICDInventory
and the other classes:

Expand|Select|Wrap|Line Numbers
  1. // CDInventory.java
  2. // uses CD class
  3.  
  4. public class CDInventory
  5. {
  6.  
  7.     // executes application
  8.     public static void main( String args[] )
  9.     {
  10.  
  11.         CD completeCDInventory[] = new CD2[ 5 ]; // creates a new 5 element array
  12.  
  13.         // populates array with objects that implement CD
  14.         completeCDInventory[ 0 ] = new CD2( "Sixpence None the Richer" , "D121401" , 12 , 11.99, 1990 );
  15.         completeCDInventory[ 1 ] = new CD2( "Clear" , "D126413" , 10 , 10.99, 1998 );
  16.         completeCDInventory[ 2 ] = new CD2( "NewsBoys: Love Liberty Disco" , "2438-51720-2" , 10 , 12.99, 1999 );
  17.         completeCDInventory[ 3 ] = new CD2( "Skillet: Hey You, I Love Your Soul" , "D122966" , 9 , 9.99, 1998 );
  18.         completeCDInventory[ 4 ] = new CD2( "Michael Sweet: Real" , "020831-1376-204" , 15 , 12.99, 1995 );
  19.  
  20.         double totalInventoryValue = CD.calculateTotalInventory( completeCDInventory ); //declares totalInventoryValue variable
  21.  
  22.         CD.displayTotalInventory( completeCDInventory ); //calls CD's display method
  23.  
  24.         System.out.println("Total Inventory Value is: " + totalInventoryValue);
  25.  
  26.         CD.sortedCDInventory( completeCDInventory ); // calls CD's sortedCDInventory method
  27.  
  28.         System.out.println("Total Inventory Value is: " + totalInventoryValue);
  29.  
  30.     } // end main
  31.  
  32. } // end class CDInventory
Expand|Select|Wrap|Line Numbers
  1. // CD2.java
  2. // subclass of CD
  3.  
  4. public class CD2 extends CD
  5. {
  6.     protected int copyrightDate; // CDs copyright date variable declaration
  7.     private double price2;
  8.  
  9.     // constructor
  10.     public CD2( String title, String prodNumber, double numStock, double price, int copyrightDate )
  11.     {
  12.         // explicit call to superclass CD constructor
  13.         super( title, prodNumber, numStock, price );
  14.  
  15.         this.copyrightDate = copyrightDate;
  16.  
  17.     }// end constructor
  18.  
  19.     public double getInventoryValue() // modified subclass method to add restocking fee
  20.     {
  21.         price2 = price + price * 0.05;
  22.         return numStock * price2;
  23.  
  24.     } //end getInventoryValue
  25.  
  26.     public void displayInventory() // modified subclass display method
  27.         {
  28.  
  29.             System.out.printf( "\n%-22s%s\n%-22s%d\n%-22s%s\n%-22s%.2f\n%-22s%s%.2f\n%-22s%s%.2f\n%-22s%s%.2f\n  \n" , "CD Title:", title, "Copyright Date:", copyrightDate, "Product Number:", prodNumber , "Number in Stock:", numStock , "CD Price:" , "$" , price , "Restocking fee (5%):", "$", price*0.05, "Inventory Value:" , "$" , getInventoryValue() );
  30.  
  31.         } // end method
  32.  
  33.  
  34. }//end class CD2
Expand|Select|Wrap|Line Numbers
  1. // CD.java
  2. // Represents a compact disc object
  3. import java.util.Arrays;
  4.  
  5. class CD implements Comparable
  6. {
  7.     protected String title; // CD title (name of product)
  8.     protected String prodNumber; // CD product number
  9.     protected double numStock; // CD stock number
  10.     protected double price; // price of CD
  11.     protected double inventoryValue; //number of units in stock times price of each unit
  12.  
  13.  
  14.     // constructor initializes CD information
  15.     public CD( String title, String prodNumber, double numStock, double price )
  16.     {
  17.         this.title = title; // Artist: album name
  18.         this.prodNumber = prodNumber; //product number
  19.         this.numStock = numStock; // number of CDs in stock
  20.         this.price = price; //price per CD
  21.  
  22.     } // end constructor
  23.  
  24.     public double getInventoryValue()
  25.     {
  26.         return numStock * price;
  27.  
  28.     } //end getInventoryValue
  29.  
  30.     public void displayInventory()
  31.     {
  32.  
  33.         System.out.printf( "\n%s%35s\n%s%12s\n%s%9.2f\n%s%12s%.2f\n%s%.2f\n%s%5s%.2f\n  \n" , "CD Title:", title, "Product Number:", prodNumber , "Number in Stock:", numStock , "CD Price:" , "$" , price , "Restocking fee (5%):", price*0.05, "Inventory Value:" , "$" , getInventoryValue() );
  34.  
  35.     } // end method
  36.  
  37.     public static double calculateTotalInventory( CD completeCDInventory[] )
  38.     {
  39.         double totalInventoryValue = 0;
  40.  
  41.         for ( int count = 0; count < completeCDInventory.length; count++ )
  42.         {
  43.              totalInventoryValue += completeCDInventory[count].getInventoryValue();
  44.  
  45.         } // end for
  46.  
  47.         return totalInventoryValue;
  48.  
  49.     } // end calculateTotalInventory
  50.  
  51.  
  52.     public static void displayTotalInventory( CD completeCDInventory[] )
  53.     {
  54.         System.out.printf( "\n%s\n" ,"Inventory of CDs (unsorted):" );
  55.  
  56.         for ( int count = 0; count < completeCDInventory.length; count++ )
  57.         {
  58.             System.out.printf( "%s%d", "Item# ", count + 1 );
  59.  
  60.             completeCDInventory[count].displayInventory();
  61.  
  62.         }// end for
  63.  
  64.     }// end displayTotalInventory
  65.  
  66.     public int compareTo( Object obj ) //overlaod compareTo method
  67.     {
  68.         CD tmp = ( CD )obj;
  69.  
  70.         if( this.title.compareTo( tmp.title ) < 0 )
  71.         {
  72.             return -1; //instance lt received
  73.         }
  74.         else if( this.title.compareTo( tmp.title ) > 0 )
  75.         {
  76.             return 1; //instance gt received
  77.         }
  78.  
  79.         return 0; //instance == received
  80.  
  81.         }// end compareTo method
  82.  
  83.     public static void sortedCDInventory( CD completeCDInventory[] )
  84.     {
  85.            System.out.printf( "\n%s\n" ,"Inventory of CDs (sorted by title):" );
  86.  
  87.            Arrays.sort( completeCDInventory ); // sort array
  88.  
  89.            for( int count = 0; count < completeCDInventory.length; count++ )
  90.            {
  91.                 System.out.printf( "%s%d", "Item# ", count + 1 );
  92.  
  93.                    completeCDInventory[count].displayInventory();}
  94.            }
  95.  
  96.  
  97. } // end class CD
Jun 28 '07 #1
3 4529
r035198x
13,262 8TB
Read the docs for JList and see where you're doing it wrong. Notice especially it's constructors.
Jun 28 '07 #2
I read about the constructors and it looks like I need this one:

public JList(Object[] listData) Constructs a JList that displays the elements in the specified array. This constructor just delegates to the ListModel constructor.

Parameters:
listData - the array of Objects to be loaded into the data model

But, I'm not sure how to use it. If I do this:

cDJList = new JList( Object[] gUICDInventory );
cDJList.setVisibleRowCount( 25 );


I get this error message:

C:\Documents and Settings\Sam\GUICDInventory.java:22: '.class' expected
cDJList = new JList( Object[] gUICDInventory );
^
C:\Documents and Settings\Sam\GUICDInventory.java:22: ';' expected
cDJList = new JList( Object[] gUICDInventory );
^
2 errors
Jun 28 '07 #3
r035198x
13,262 8TB
I read about the constructors and it looks like I need this one:

public JList(Object[] listData) Constructs a JList that displays the elements in the specified array. This constructor just delegates to the ListModel constructor.

Parameters:
listData - the array of Objects to be loaded into the data model

But, I'm not sure how to use it. If I do this:

cDJList = new JList( Object[] gUICDInventory );
cDJList.setVisibleRowCount( 25 );


I get this error message:

C:\Documents and Settings\Sam\GUICDInventory.java:22: '.class' expected
cDJList = new JList( Object[] gUICDInventory );
^
C:\Documents and Settings\Sam\GUICDInventory.java:22: ';' expected
cDJList = new JList( Object[] gUICDInventory );
^
2 errors
Don't try to guess how to use it, read the swing tutorial.
Jun 29 '07 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

2
by: lawrence | last post by:
I've been bad about documentation so far but I'm going to try to be better. I've mostly worked alone so I'm the only one, so far, who's suffered from my bad habits. But I'd like other programmers...
3
by: Tommy Lang | last post by:
I am working on this project and I need some help/pointers/comments to get me started, I am stuck. The program will be used to store information in an array while it is running. I need to store...
4
by: Christiaan | last post by:
Hi, I have two classes, Department and Employer, the Department contains an ArrayList (employers) filled with Employer objects. I want to display an ArrayList filled with Department objects using...
18
by: bsruth | last post by:
I tried for an hour to find some reference to concrete information on why this particular inheritance implementation is a bad idea, but couldn't. So I'm sorry if this has been answered before....
2
by: Severus Snape | last post by:
I can display and hide 1 object at a time, but haven't seen it done on multiple objects simultaneously. I have four (or more) tables on a page that start off hidden, and I want to toggle their...
0
by: Matthew87 | last post by:
Hi all I'm having a bit of trouble completeing my coursework basically so far i have created Citenary class with support methods for a private array. The problem is i can add objects to the array...
9
by: pic078 via AccessMonster.com | last post by:
I need serious help - I have a frontend/backend Access database (2 MDE Files) that remains stuck in task manager after exiting the application - you can't reopen database after exiting as a result...
2
by: sorobor | last post by:
dear sir .. i am using cakephp freamwork ..By the way i m begener in php and javascript .. My probs r bellow I made a javascript calender ..there is a close button ..when i press close button...
4
by: jeddiki | last post by:
Hi, I have written a script that is listing articles from my article table and displaying the titles ten on each page. As I need to calculate and print other stuff in between the extracting ...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge required to effectively administer and manage Oracle...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
1
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. header("Location:".$urlback); Is this the right layout the...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and credentials and received a successful connection...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
0
by: Carina712 | last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand. Background colors can be used to highlight important...
0
BLUEPANDA
by: BLUEPANDA | last post by:
At BluePanda Dev, we're passionate about building high-quality software and sharing our knowledge with the community. That's why we've created a SaaS starter kit that's not only easy to use but also...
0
by: Rahul1995seven | last post by:
Introduction: In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python has gained popularity among beginners and experts...
0
by: Ricardo de Mila | last post by:
Dear people, good afternoon... I have a form in msAccess with lots of controls and a specific routine must be triggered if the mouse_down event happens in any control. Than I need to discover what...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.