2017-01-31 10 views
1

ボタンをクリックすると設定したタイマーのアイコンをjavaに設定する方法と、私のボタンアイコンが表示されなければならず、アイコンは時間終了のためにヌルに設定しなければならない。ボタンをクリックすると特定の時間のjbuttonアイコンを設定する方法と、終了時にアイコンを消す方法

私は道以下試してみましたが、それは私はあなたの問題の私の理解に基づいて、ボタン

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {           


    timer = new Timer(5000, new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       if(chromeShown) { 
        jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/r/ajaxloading.gif"))); 
        chromeShown = true; 
       } else { 
        jButton3.setIcon(null); 
        chromeShown = false; 
       } 
      } 
     }); 
     timer.start(); 

     this.getContentPane().add(JButton); 
     this.setVisible(true); 
+0

あなたの解決策ではうまくいかないのですか? – Mordechai

+0

あなたは、クリックすると、ボタンのアイコンを設定し、その後一定時間後に 'null'に戻したいのですか?私は混乱している – MadProgrammer

+0

あなたの混乱のため申し訳ありませんが、私はjbutton jbuttonアイコンをしばらくクリックし、false状態にアイコンを設定するとjbuttonにアイコンを設定する方法はありますか私の英語のために申し訳ありません – Ijaz

答えて

2

をクリックしないようにしていますとき、あなたのロジックは、アクションのようなものに沿って、次の必要があり、少し歪んでいる作品です

ボタンクリック - >アイコン変更 - >タイマー開始...(待機中)... - >タイマートリガー - >アイコン変更。

現時点では、Timerのアイコンの初期状態を変更しようとしていますが、これは意味をなさないものです。私は、ボタンがクリックされたときに、これはボタンのテキストやボタンを無効にします(あなたが再びそれをクリックすることはできません)以降を設定し、基本的に

click.addActionListener(new ActionListener() { 
    @Override 
    public void actionPerformed(ActionEvent e) { 
     click.setEnabled(false); 
     click.setText("I'm running >>"); 
     Timer timer = new Timer(1000, new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       click.setText("I be done"); 
       click.setEnabled(true); 
      } 
     }); 
     timer.start(); 
    } 
}); 

...あなたはもっとこのような何かをしたいと思います1秒、テキストを変更してボタンを有効にします

関連する問題