在我的库存管理系统中,程序为单击创建2个输入表单。我无法确定问题。
执行的菜单操作代码
public void actionPerformed(ActionEvent e)
{
JMenuItem source = (JMenuItem)(e.getSource());
String s=e.getActionCommand();
if(s.equals("Stock Entry"))
{
Store.Stock_Entry.Stock();
}
else if(s.equals("Stock Update"))
{
Store.Stock_Update.Stock();
}
}
当用户单击股票输入选项时,在菜单中创建2个股票输入表单。
股票进入部分代码
public void MakeGUI(JFrame f)
{
Cframe=f;
l1=new JLabel("STOCK ENTRY FORM");
l2=new JLabel("Product ID:");
l3=new JLabel("Product Name");
l4=new JLabel("Quantity");
l5=new JLabel("Unit Price");
b1=new JButton("Add Product To Stock");
t1=new JTextField(20);
t2=new JTextField(20);
t3=new JTextField(20);
t4=new JTextField(20);
Container c=f.getContentPane();
c.setLayout(null);
c.setBackground(Color.PINK);
f.setSize(600,600);
f.setResizable(false);
f.setVisible(true);
c.add(l1);
c.add(l2);
c.add(l3);
c.add(l4);
c.add(l5);
c.add(b1);
c.add(t1);
c.add(t2);
c.add(t3);
c.add(t4);
t4.setBounds(300,300,200,25);
t3.setBounds(300,250,200,25);
t2.setBounds(300,200,200,25);
t1.setBounds(300,150,200,25);
l5.setBounds(100,300,200,25);
l4.setBounds(100,250,200,25);
l3.setBounds(100,200,200,25);
l2.setBounds(100,150,200,25);
b1.setBounds(250,450,200,25);
l1.setBounds(200,100,200,25);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent be)
{
proid=t1.getText();
proname=t2.getText();
proqty=t3.getText();
prorate=t4.getText();
prodid=Integer.parseInt(proid);
productrate = Integer.parseInt(prorate);
productqty= Integer.parseInt(proqty);
cost=productrate*productqty;
con=getUserConnect();
}
public class Stock_Entry
{
public static void Stock()
{
Entry en=new Entry();
JFrame frame = new JFrame("Menu");
en.MakeGUI(frame);
}
}
我无法确定问题所在。在更新部分使用相同的代码,它完美地运行。
答案 0 :(得分:0)
我相信您可能偶然将ActionListener
两次添加到JButton
,您可以通过添加以下代码进行检查:
//Add this Line
System.out.println("INSIDE STOCK ENTRY ACTIONLISTENER)
if(s.equals("Stock Entry"))
{
Store.Stock_Entry.Stock();
}
else if(s.equals("Stock Update"))
{
Store.Stock_Update.Stock();
}
然后再次尝试运行程序,查看输出:是否显示
“INSIDE STOCK ENTRY ACTIONLISTENER”两次,然后您必须意外地将ActionListener
两次添加到同一JButton
。
更新看起来正常的原因是因为更新/刷新两次将保持不变并且您无法分辨。