对于Java中的事件,我有点一无所知,因此我正在研究一个项目来纠正这一问题。因此,我正在从事一个基本上是比萨店POS程序的项目。有一个主GUI,带有预配置的“进餐”选项。我单击它们,它们的价格和名称将正确显示在JTable中。但是,当我尝试使用其他类中的按钮执行此操作时,没有错误,也没有进入JTable的条目。
我正在使用NetBeans GUI Builder。
这是我目前用于MainGUI类的内容:
public class MainGUI extends javax.swing.JFrame {
public void getItems(String extName, double extPrice) {
itemName = extName; //instance variables
itemPrice = extPrice;
getTotal(itemPrice); //displays the total sum of items in textfield
orderTab.setValueAt(itemName, arrayCount, 0); //JTable.
orderTab.setValueAt(itemPrice, arrayCount, 1);
arrayCount++; //so next items clicked can displayed on next row
}
}
和其他班级
public class BuildPizzaGUI extends javax.swing.JFrame {
private void addButtonClick(java.awt.event.ActionEvent evt) {
MainGUI exporter = new MainGUI();
exporter.getItems(custName, custPrice);
setVisible(false); //closes window
}
}
我没有收到任何错误消息。我希望显示商品名称和价格,但是目前,除了关闭的窗口外,我什么也没得到。谢谢。
答案 0 :(得分:0)
MainGUI exporter = new MainGUI();
每次单击按钮时,您将无法继续创建MainGUI的新实例。如果这样做,则意味着您尝试添加的每个项目都会创建一个新的JFrame。
相反,在创建BuildPizzaGUI时,您需要传递对现有MainGUI类的引用。然后,当您单击按钮时,您将引用此变量,该变量将允许您更新该类中的JTable。