JAVA:传递到另一个类时为空值
我正在编写一个程序,其中将数组传递给另一个类。但是,当我尝试加载传递了一组数组值的类时,其中没有值。请参阅我的代码: Menu.javaJAVA:传递到另一个类时为空值,java,netbeans,Java,Netbeans,我正在编写一个程序,其中将数组传递给另一个类。但是,当我尝试加载传递了一组数组值的类时,其中没有值。请参阅我的代码: Menu.java public class Menu extends javax.swing.JFrame { private String[] menu; private Globals vars = new Globals(); private DefaultTableModel grill; private
public class Menu extends javax.swing.JFrame {
private String[] menu;
private Globals vars = new Globals();
private DefaultTableModel grill;
private DefaultTableModel seafoods;
private DefaultTableModel rice;
private DefaultTableModel drinks;
private int menuCount;
public Menu() {
initComponents();
this.setLocationRelativeTo(null);
menuCount = vars.countMenu();
menu = new String[menuCount];
menu = vars.setMenu();
grill = (DefaultTableModel) jTable1.getModel();
seafoods = (DefaultTableModel) jTable2.getModel();
rice = (DefaultTableModel) jTable3.getModel();
drinks = (DefaultTableModel) jTable4.getModel();
/*** SOME CODES HERE ***/
/*** item_name, item_code, item_qty, item_price are arrays ***/
/*** I have already tested them and they have values ***/
if (noValue > 0) {
JOptionPane.showMessageDialog(null, "Please input quantity");
return;
}
if (count == 0) {
JOptionPane.showMessageDialog(null, "Plese select some items");
return;
} else {
Transaction trns = new Transaction();
//JOptionPane.showMessageDialog(null, count);
trns.setSelectedItems(item_name, item_code, item_qty, item_price, count);
trns.setVisible(true);
//this.setVisible(false);
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}
public class Transaction extends javax.swing.JFrame {
private String[] itemcode;
private double[] qty;
private double[] price;
private String[] items;
private String[] info;
private static Scanner iRead;
private int count;
public Transaction() {
initComponents();
this.setLocationRelativeTo(null);
itemcode = new String[count];
DefaultListModel listModel = new DefaultListModel();
String header = "| Item Code | Item Name | Price | Quantity";
listModel.addElement(header);
JOptionPane.showMessageDialog(null, count);
lsItems.setModel(listModel);
}
public void setSelectedItems(String[] itm, String[] cd, double[] qnty, double[] prc, int itemCnt) {
this.items = itm;
this.itemcode = cd;
this.qty = qnty;
this.price = prc;
this.count = itemCnt;
}
}
Transaction.java
public class Menu extends javax.swing.JFrame {
private String[] menu;
private Globals vars = new Globals();
private DefaultTableModel grill;
private DefaultTableModel seafoods;
private DefaultTableModel rice;
private DefaultTableModel drinks;
private int menuCount;
public Menu() {
initComponents();
this.setLocationRelativeTo(null);
menuCount = vars.countMenu();
menu = new String[menuCount];
menu = vars.setMenu();
grill = (DefaultTableModel) jTable1.getModel();
seafoods = (DefaultTableModel) jTable2.getModel();
rice = (DefaultTableModel) jTable3.getModel();
drinks = (DefaultTableModel) jTable4.getModel();
/*** SOME CODES HERE ***/
/*** item_name, item_code, item_qty, item_price are arrays ***/
/*** I have already tested them and they have values ***/
if (noValue > 0) {
JOptionPane.showMessageDialog(null, "Please input quantity");
return;
}
if (count == 0) {
JOptionPane.showMessageDialog(null, "Plese select some items");
return;
} else {
Transaction trns = new Transaction();
//JOptionPane.showMessageDialog(null, count);
trns.setSelectedItems(item_name, item_code, item_qty, item_price, count);
trns.setVisible(true);
//this.setVisible(false);
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}
public class Transaction extends javax.swing.JFrame {
private String[] itemcode;
private double[] qty;
private double[] price;
private String[] items;
private String[] info;
private static Scanner iRead;
private int count;
public Transaction() {
initComponents();
this.setLocationRelativeTo(null);
itemcode = new String[count];
DefaultListModel listModel = new DefaultListModel();
String header = "| Item Code | Item Name | Price | Quantity";
listModel.addElement(header);
JOptionPane.showMessageDialog(null, count);
lsItems.setModel(listModel);
}
public void setSelectedItems(String[] itm, String[] cd, double[] qnty, double[] prc, int itemCnt) {
this.items = itm;
this.itemcode = cd;
this.qty = qnty;
this.price = prc;
this.count = itemCnt;
}
}
我试图将一组值[
setSelectedItems()
]从菜单
Class传递到事务
类。但是,当我加载事务类时,没有收到任何值。您希望发生什么?似乎您希望填充某些模型,但allsetSelectedItems
是否设置了类的一些成员字段。请从菜单类创建@Michael I'm expecting值,其中应显示事务类(jList)。这就是为什么我使用setSelectedItems
将值从菜单传递到事务类。我使用了JOptionPane.showMessageDialog(null,count)代码>检查是否成功传递了值。为什么只有两个jframe,而只显示一个jframe而显示另一个jframe?请提供MCVE,以便我们了解您的问题。目前尚不清楚在setSelectedItems中设置后,eg this.items会发生什么情况。因此,在你的问题上帮助你几乎是不可能的。