更改jframe属性而不执行操作?

时间:2017-01-23 17:51:10

标签: java swing

我尝试使用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

1 个答案:

答案 0 :(得分:0)

 public void setstartbtn(){

         jButton1.setBackground(Color.red);
         jstartlabel.setForeground(Color.red);
         mainrot = false;
         revalidate();
         repaint();
}

如果revalidate不起作用,请尝试重绘()。