如何将Array返回给另一个类? Java GUI

时间:2016-04-22 06:40:52

标签: java arrays user-interface

我正在开发Java GUI项目,现在我有两个框架。 我在第一帧中声明了一堆数组,但是我想将存储在数组中的数据显示在第二帧中? 我怎样才能做到这一点 ?当我刚创建一个返回数组的方法时,它表示不兼容的类型,String []不能转换为String。 我想在JTextArea中显示这些数据。 以下是我在第一帧中的代码:

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;
}

以下是我的第二帧代码:

class Payment extends javax.swing.JFrame {

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

当我尝试按下从第一帧访问第二帧的按钮时程序被卡住了,以下是生成的所有错误:

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)

请帮帮我,谢谢。

0 个答案:

没有答案
相关问题