2016-12-03 12 views
1

私はこのプログラムをJavaで作成しようとしています。このプログラムは、そこにある在庫量を記録することになっています。あなたがパンケーキを作ってみたければ、ボタンをクリックするたびに「パンケーキ」と1xミルク、2xの卵がストックから取り除かれるというボタンをクリックすると、問題は私が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 lOmaxelを残し、2回目には8 lOmaxelを残すようにすることです。 ありがとうございます! –

答えて

1

問題は、あなたがスコープとオブジェクト指向の概念を嫌っているということです。

あなたが指摘したように、あなたは魂と何かが必要です。シンプルなデザインでは、問題のインベントリを実際に追跡するクラスが必要です。インスタンスを作成し、そのインスタンスをUIクラスに渡します。

責任を分けたい場合は、インベントリを変更するためのすべての責任を他のクラスに委任します。したがって、actionPerformed()では、インベントリを追跡するクラスのメソッドを呼び出します。

+0

ありがとうございました、これは私が今やっていることですから、そこにすべての変数をリストするのではなく、注文点、在庫、金額を別々のクラスにしたので、次のようになります。 オーダーポイントオーダーオブジェクト=新しいオーダーポイント(10、10); \t orderObject.stock()); \t \t10max-; \t lVals--; しかし、これらの変数を登録するようには思われません。 –

関連する問題