私はjnativehookを使用してホットキープログラムを作ろうとしていますが、キーを押したときにボタンの色を変更できません。キーを押すとすべて正常に動作しますが、私はguiをリフレッシュするために何らかのアクションを実行する必要があると推測しています。アクションなしでjframe属性を変更していますか?
boolean s = false;
public void nativeKeyPressed(NativeKeyEvent nke) {
if (nke.getKeyCode() == NativeKeyEvent.VC_F12){
setstartbtn();
}
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public void setstartbtn(){
jButton1.setBackground(Color.red);
jstartlabel.setForeground(Color.red);
mainrot = false;
}
私はボタン自体への第二の機能を割り当てた場合、それは正常に動作します:私はちょうどF12が押されるたびに機能をsetstartbtnに行く簡単なリスナーを持っている瞬間
。
カウントダウンタイマーがある場合、タイマーが10から0に達すると、ボタンは緑色に変わりますが、それは実行される必要があると推測しているのと同じ問題です。
ご協力いただければ幸いです。
EDIT:再検証が動作しない場合https://www.dropbox.com/sh/lfqziqbvszfr2hs/AABlyJGlb_UvIljEBUwMrpRza?dl=0
より良いヘルプを早く得るには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 –
私はいくつかのデバッグステートメントから始めて、実際にあなたのメソッドが期待どおりに呼び出されていることを確認したいと思います。 – MadProgrammer
ええと、setbackgroundにステップを入れてもうまく呼び出されますが、GUIは更新されません。 revalidateまたはrepaintは何もしていないようでした(単独でそれを試しました、そしてボタン自体で)。 – Pengiuns