我想在点击按钮后显示按钮上的处理图标,以便了解应用程序正在加载页面的用户,他必须等到它完成。使用java自定义处理图标
以下是等待光标我得到了下面的代码:
我开发,以满足我上面的要求如下代码:
public static boolean waitCursorIsShowing;
public Cursor waitCursor, defaultCursor;
waitCursor = new Cursor(Cursor.WAIT_CURSOR);
defaultCursor = new Cursor(Cursor.DEFAULT_CURSOR);
waitCursorIsShowing = true;
if (waitCursorIsShowing)
{
JFrame frame.setCursor(waitCursor);
-----------------------------------------------
/* code to load the page/ perform the business logic */
-----------------------------------------------
waitCursorIsShowing = false;
frame.setCursor(defaultCursor);
}
此代码工作良好根据我的要求。但是当我想在点击按钮时在按钮上显示另一个Processing Image Icon时,我得到的结果是相反的。我的意思是当按钮被点击并且页面被加载时,按钮上不显示Processing Image Icon,但是当执行操作并且在页面加载后释放按钮时,应用程序会在按钮上显示Processing Image Icon。
以下是处理图片图标我收到了下面的代码:
请帮我在哪里,我的编码不正确。以下是修改后的代码。
public static boolean waitCursorIsShowing;
public Cursor waitCursor, defaultCursor;
waitCursor = new Cursor(Cursor.WAIT_CURSOR);
defaultCursor = new Cursor(Cursor.DEFAULT_CURSOR);
waitCursorIsShowing = true;
if (waitCursorIsShowing)
{
URL url = getClass().getResource("/Images/loader8.gif");
b4.setText("Loading");
b4.setIcon(new ImageIcon(url));
-----------------------------------------------
/* code to load the page/ perform the business logic */
-----------------------------------------------
waitCursorIsShowing = false;
b4.setIcon(new ImageIcon());
b4.setText("Submit");
}
b4是我想要获取处理图像图标的按钮。
如何修改我的代码来定制按钮上的图标,当它被点击并且应用程序正在加载页面时?
我这里没有使用任何线程,我用了布尔值和方法上的帧像frame.setCursor(waitCursor), frame.setCursor(defaultCursor)你能否建议我基于上述代码开发的代码? –
@JavaDeveloper正如Russsell所说 - 上述方法已被打破,不应使用。它与摆动事件模型相矛盾,因此不会导致期望的结果。 – Howard
您可能还想提及['SwingWorker'](http://docs.oracle.com/javase/7/docs/api/javax/swing/SwingWorker.html)类,它具有'process'和'done '这将自动在EDT上调用。 – Howard