所以我一直在研究我的程序,第一次在 java 中使用 GUI。我认为我拥有应有的一切,但给了我一个错误:
Exception in thread "main" java.lang.NullPointerException
at GUIProgram.<init>(GUIProgram.java:41)
at Inventory.main(Inventory.java:12)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)
我不知道我到底要做什么,我一直在努力解决它,但我做不到。
如果您需要更多信息来找出问题所在,请告诉我。
编辑(从评论复制)
Product[] array = new Product[table.length];
float total = 0; float fee = 0;
for(Product p: array) {
total += p.getTotal();
fee += p.getRestockingFee();
}
这是我正在构建的 GUIProgram 类。
import javax.swing.*;
import java.awt.*;
public class GUIProgram extends JFrame
{
public GUIProgram()
{
super("Welcome to the Inventory Program");
setLayout(new FlowLayout());
String[] columnNames = {"Item", "Item No.", "Unit", "Price"};
Product[] table = new Product[5];
table[0] = new Product("chocolate", 1023, 124, 1.50f);
table[1] = new Product("ice cream", 1543, 170, 3.35f);
table[2] = new Product("milk", 1265, 230, 2.40f);
table[3] = new Product("orange juice", 1653, 199, 0.60f);
table[4] = new Product("cereal", 1534, 176, 3.50f);
for (int i = 0; i < table.length; i++)
{
JTextField textfield1 = new JTextField(table.length);
add(textfield1);
float total = 0;
float fee = 0;
for(Product p: table)
{
total += p.getTotal();
fee += p.getRestockingFee();
}
JTextField textfield2 = new JTextField(table.length);
textfield2 = new JTextField(String.format("The total value of the Fruits Inventory is: %.2f", total));
add(textfield2);
JTextField textfield3 = new JTextField(table.length);
textfield3 = new JTextField(String.format("The total restocking fee is: %.2f", fee));
add(textfield3);
}
}
}
我只是想为这个数组构建一个 GUI。