2016-10-18 16 views
0

私は1分間でユーザーがボタンをクリックする必要がある「ClickerGame」を作成しようとしています。 このプログラムの機能を改善するのに手伝ってもらえますか?それは実際には機能しません。Java機能のクリッカーゲーム

import javax.swing.*; 

import java.awt.FlowLayout; 
import java.awt.event.*; 
import java.awt.*; 
import java.lang.*; 
import java.util.Date; 

public class ClickerGame extends javax.swing.JFrame { 
    int i,j; 
    JPanel panel; 
    JFrame frame; 
    JButton start; 
    JButton stop; 
    JButton click; 
    JTextArea text; 
    JLabel label; 
    public static void main(String[] args){ 
     ClickerGame a = new ClickerGame(); 
     a.go(); 
    } 

    public void go(){ 
     frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JPanel panel = new JPanel(); 

     click = new JButton("Click"); 
     click.addActionListener(new ClickListener()); 

     start=new JButton("Start"); 
     start.addActionListener(new StartListener()); 

     stop=new JButton("Stop"); 
     stop.addActionListener(new StopListener()); 
     panel.add(start); 
     panel.add(click); 
     panel.add(label); 
     frame.getContentPane().add(BorderLayout.CENTER,panel); 

     frame.setSize(500,500); 
     frame.setVisible(true); 
    } 
    class ClickListener implements ActionListener{ 
     public void actionPerformed(ActionEvent event){ 

      click.setText("Number of clicks: "+i); 
      i++; 
     } 

     } 

    Timer timer = new Timer(1000,new ActionListener(){ 
     public void actionPerformed(ActionEvent e){ 
      Date currentTime = new Date(); 
      label= new JLabel(currentTime.toString()); 


     } 
    }); 

    class StartListener implements ActionListener{ 
     public void actionPerformed(ActionEvent event){ 
      timer.start(); 
     } 
    } 
    class StopListener implements ActionListener{ 
     public void actionPerformed(ActionEvent event){ 
      timer.stop(); 
     } 
    } 

} 
+0

エラーが発生した場合は、例外に例外を追加する必要があります。編集:例外が発生しない場合は、エラー/問題を説明する必要があります –

+0

申し訳ありませんが、コードにエラーを追加しました – adir

答えて

1

あなたのエラーが(nulllabelが初期化されることはありませんよう、panellabelを追加しようとによって引き起こされます。

削除:panel.add(label);

私が意図したとおりに、あなたのゲームの機能がある確信していないが、それは別の問題です。

+0

タイマーに追加しました。 – adir

+0

と機能が私が知りたいと思っていた主なものですが、どうすればそれを改善できますか? – adir

0
panel.add(label); 

この行にはラベルが初期化されていません。このように使用する前に初期化してください。

label = new JLabel("ABC"); 
+0

私はそれをタイマーに追加しました。どこに現在の時刻が表示されるのですか? – adir