如何将忙碌光标添加到应用程序中的每个事件

时间:2015-10-09 07:18:10

标签: java swing

我正在使用swing进行桌面应用程序,并希望忙于每个事件的光标 当前使用代码

try {
     Cursor hourglassCursor = 
          Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR); this.setCursor(hourglassCursor);
     doProcessing();
} 
finally {
          Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR);
          this.setCursor(normalCursor);
        }

我想应用适用于每个事件的全局功能 请帮帮我

1 个答案:

答案 0 :(得分:0)

您可以创建一个将Cursor设置为Component

的方法
public void doProcessing(Component component, Runnable process){
  if (component==null || process==null){
    return;
  }
  component.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  try {
    SwingUtilities.invokeAndWait(process);
  } catch (InterruptedException | InvocationTargetException e) {
    e.printStackTrace();
  }
  component.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}