0

I was working on Java GUI Project, I have two frames now. I am declaring a bunch of arrays in my first frame, however I want to display the data that stored in the arrays into second frame? How can I do that ? When I just create a method to return the array, it says Incompatible Types, String[]cannot be converted to String. I want to display those data in a JTextArea. Below are my codes in First Frame:

class Bun extends javax.swing.JFrame {
 String decimal = "0.00";
 DecimalFormat df = new DecimalFormat(decimal);
 public final String [] bname = new String [] {"Tuna Sandwich","Garlic Bread","Redbean Bun"};
 public static final double [] bprice = new double [] {1.20, 1.50, 1.50};
 public static double [] bsub = new double [] {0,0,0};
 public static int [] bquantity = new int[] {0,0,0};
 public double bsubtotal=0;
 public static String [] order;

public boolean setorder()
{
    for(int counter=0;counter<bquantity.length;counter++)
    {
        if(bquantity[counter]>0){
          calculatesub();
          return true;}
    }
    return false;
}
public void takeorder()
{
        for(int counter=0;counter<bname.length;counter++){
            if(setorder()==true)
            order[counter]=(bname[counter]+" x "+bquantity[counter]+" - RM "+bsub[counter]);
        }        
}
public String [] getorder()
{
    return order;
}

Here is the code for my second frame:

class Payment extends javax.swing.JFrame {

public Payment() {
    initComponents(); 
    Bun bun = new Bun();
    bun.setorder();
    bun.takeorder();
    jTextArea1.setText(Arrays.toString(bun.getorder()));
}

The program got stucked when I try to hit the button that access to the second frame from the first frame, Here are all the errors generated:

run:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Bun.takeorder(Bun.java:46)
at Payment.<init>(Payment.java:9)
at Bun.paymentbActionPerformed(Bun.java:518)
at Bun.access$1900(Bun.java:4)
at Bun$20.actionPerformed(Bun.java:316)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6535)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6300)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
BUILD SUCCESSFUL (total time: 9 seconds)

Please help me with this, thank you.

Silver Archer
  • 167
  • 3
  • 3
  • 14
  • @AndrewTobilko Sorry my mistake it was another declared array public static String [] order; , I have edit the question, thank you. – Silver Archer Apr 22 '16 at 06:49
  • first of all, you are creating a new instance of `Bun()`. This won't have state of the actual bun object created and rendered in UI. Secondly where is `bQunatity` and `order` instantiates. Can you post complete example? – Yogesh Patil Apr 22 '16 at 06:51
  • @SilverArcher, initialize it like `new String[SIZE]` – Andrew Tobilko Apr 22 '16 at 06:51
  • @KevinEsche I understand that post, but it seems like not the problem ? – Silver Archer Apr 22 '16 at 06:53
  • @YogeshPatil Sorry It was my mistake, had completed the code already. About the new instance, before I declare the order as Arrays, it does show the data on the JTextArea, its just what it shows seems to be the last data in the array only. – Silver Archer Apr 22 '16 at 06:55
  • @AndrewTobilko Done that, but still in the second frame, the line jTextArea1.setText(bun.getorder()); if I did not put Arrays.toString, it will show the same error (Incompatible types, String[]cannot be converted to String) – Silver Archer Apr 22 '16 at 06:58
  • @SilverArcher, but you put it, it solves your problem, isn't it? – Andrew Tobilko Apr 22 '16 at 07:00
  • @AndrewTobilko But the Arrays.toString is showing all the data in the arrays, all I want to show is those pass the filter setorder() – Silver Archer Apr 22 '16 at 07:05
  • let `setorder()` returns `String[]` that contains only required data – Andrew Tobilko Apr 22 '16 at 07:20
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/109878/discussion-between-silver-archer-and-andrew-tobilko). – Silver Archer Apr 22 '16 at 07:29

0 Answers0