2012-03-06 3 views
-1

ボタンが2つあるプログラムの作成には助けが必要です。ボタンをクリックするたびに「n回クリックしました!」というメッセージが表示されます。各ボタンには個別のクリック数が必要です。ボタンカウンターJava

import java.awt.event.ActionListener; 
    import javax.swing.JButton; 
    import javax.swing.JFrame; 

    public class ButtonViewer 
    { 
     private static final int FRAME_WIDTH = 400; 
     private static final int FRAME_HEIGHT = 360; 


public static void main(String[] args) 
{ 
    int counter1 = 0; 
    int counter2 = 0; 

    JFrame frame = new JFrame(); 
    JButton button = new JButton("Click me!"); 
    frame.add(button); 

    JFrame frame2 = new JFrame(); 
    JButton button2 = new JButton("Click me too!"); 
    frame2.add(button2); 

    ActionListener listener = new ClickListener(); 
    button.addActionListener(listener); 
    button2.addActionListener(listener); 

    counter1++; 
    counter2++; 

    frame.setSize(FRAME_WIDTH, FRAME_HEIGHT); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true); 

    frame2.setSize(FRAME_WIDTH, FRAME_HEIGHT); 
    frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame2.setVisible(true); 
} 
} 
+4

これは宿題のようです... –

+1

あなたの宿題はしませんが、お手伝いします。物事を試して、あなたが立ち往生している場所を教えてください。そして、あなたがそれを明確にしていれば、あなたを正しい方向に押し進めます。 – switz

+1

問題を解決するために何か試しましたか? –

答えて

0

単純な解決策は、ActionListenerインラインを実装することです。ただしてください:

button2.addActionListener(new ActionListener(){ 
... 
}); 

ここにactionperomedメソッドを実装すると、button2のテキストを簡単に変更できます。

0

アクションリスナーのコールバックがないため、ボタンをクリックすると、リッスンは何かが起こっていることを知っていますが、何をすべきかについての指示はありません。 @KingWilliamの言及と同様、これは宿題のように見えるので、アクションリスナーのコールバックを調べることは、あなたのギアを動かすのに十分であるはずです。

0

リスナーはインターフェイスなので、実装クラスではactionPerformed()メソッドが実装されていることを確認する必要があります。ボタンのカウンターを増やしてボタンのカウンターを増やし、ボタン2のカウンターを増やすだけであれば、 'クリック'イベントのリソースを検出する必要があります。

0

カウントの2つの変数、たとえばcount1、count2を初期化します。 CUSTOMMESSAGEはようにする必要があり

button1.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent ae){ 
     count1++; 
     new CustomMessage(count1); 
    } 
}); 

:このようなイベントリスナーとしてボタン1レジスタ匿名クラスについて

class CustomMessage extends javax.swing.JDialog{ 
    public CustomMessage(int counter){ 
    //... 
    } 
} 

あなたのメッセージに「カウンター」を組み込むことを確認してください。 button2も同様です。これはあなたのために働くことを望みます! 幸運のベスト。

3

あなたが実際に実際のように、下記の別の方法を書き込むことによって、ClickListenerを追加する必要があるとして起動するには:

private class listener1 implements ActionListener{ 
    public void actionPerformed(ActionEvent e){ 
     counter1++; 
    } 
} 

あなたは、この場合には、これらのクラスの2を持っている...ボタンごとに1。 2番目のリスナーは、ボタンが押されたときにもう一方のカウンタをインクリメントします。

関連する問題