我尝试使用jnativehook制作热键程序,但是当我按下一个键(外部焦点)时,我无法更改说按钮的颜色。关键按键和一切正常,但我猜它需要采取某种行动,以便刷新" gui?
目前我只有一个简单的监听器,只要按下f12就转到setstartbtn函数:
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;
}
如果我将第二个功能分配给按钮本身,那么它可以正常工作。
例如,如果我有一个倒数计时器,当计时器从10到0时,按钮应该变为绿色但是它没有,所以我猜测它需要采取行动执行?
任何帮助都将不胜感激。
编辑:这是完整的项目:https://www.dropbox.com/sh/lfqziqbvszfr2hs/AABlyJGlb_UvIljEBUwMrpRza?dl=0
答案 0 :(得分:0)
public void setstartbtn(){
jButton1.setBackground(Color.red);
jstartlabel.setForeground(Color.red);
mainrot = false;
revalidate();
repaint();
}
如果revalidate不起作用,请尝试重绘()。