2016-12-03 33 views
1

所以我试图用Java创建这个程序,是应该跟踪多少股票存在。就像如果你想煮煎饼,你可以点击一个按钮,说:“薄煎饼”和1xmilk,2xtimes鸡蛋会从每次点击该按钮时,股票被移除,但问题是,我必须声明actionPerformed()内的整数,所以每次点击按钮时,原始值都会重置,任何一种灵魂都有答案吗?中的actionPerformed java的声明整数

//1100 Button 
      JButton bj1100 = new JButton("1100"); 
      f.add(bj1100); 
      bj1100.addActionListener(new ActionListener(){ 

       @Override 
       public void actionPerformed(ActionEvent e) { 
        // TODO Auto-generated method stub 
        System.out.println("1100"); 
        //1100 head menu 

        MAIN f = new MAIN(); 
        f.setLayout(new FlowLayout()); 

        //250/1100 HYDR 
          JButton bj250HYDR = new JButton("250/1100 HYDR"); 
          f.add(bj250HYDR); 
          bj250HYDR.addActionListener(new ActionListener(){ 

     @Override 
     public void actionPerformed(ActionEvent e) { 

     // TODO Auto-generated method stub 
     System.out.println("Building a250/110 HYDR"); 


            //Stock 
            int lOmaxel =10; 
            int lVals = 10; 

            //Orderpoint 
            int bOmaxel =5; 
            int bVals = 5; 

            //Amount to make 
            int tOmaxel =10; 
            int tVals =10; 
            lOmaxel--; 
            lVals--; 
    } 

}); 
+0

谢谢,但它似乎仍然存在问题,并且每次我重新点击“250/1100”按钮,股票重新供应。我的意图是让我第一次点击按钮时,我将有9个lmaxmax离开,然后第二次按下它,我将有8个lmaxmaxel离开,依此类推。 谢谢! –

回答

1

问题是,你没有收集范围和面向对象的概念。

正如你所指出的,你需要一些灵魂。一个简单的设计需要一个实际跟踪有问题的库存的类,然后创建一个实例并将该实例传递给UI类。

如果你想分开的责任,你会委派全部责任修改库存,其他类,所以在的actionPerformed()你会打电话对类跟踪库存的方法。

+0

谢谢你,这就是我一直在努力,现在做的,因此不是所有的变量列在那里,我做了orderpoints,库存量和一个单独的类做,所以它看起来像: Orderpoints orderObject = new Orderpoints(10,10); \t orderObject.stock()); \t \t lOmaxel--; \t lVals--; 但它似乎没有注册这些变量可以这么说。 –