Link to home
Start Free TrialLog in
Avatar of optimal
optimal

asked on

Changing mouse cursor in JApplet on click

Hi everyone,

I have a JApplet which submits sql queries via JDBC to a database.
When the user clicks a certain button a query is initiated.
Since I would like to notify my user that he should wait I'd like to change the
mouse cursor to an hour glass cursor and change it back to normal when the query
is finished.
Changing the cursor in JApplet doesn't seem to work due to some bug that should be
fixed in the next version of the Java JFC.
In the mean while I'd like to change the jbutton's color, text or anything that might indicate that
the user should wait.
The problem is that due to some repaint problems the change of background color or any other
visual property does not occur.

I would most appriciate if anyone knows and could share it with me, how I may change background color when
a jbutton was pressed and change it back after a certain process had ended.

Thanks in advance,
Guy Loewy.
Avatar of optimal
optimal

ASKER

Edited text of question
Changing the buttons background is done by button.setBackground(Color.xxx). I am not aware of any other way of doing that. Is that not working?  I guess you should put this piece of code exactly where you were planning to put the code changing the cursor. For example in button's action listener you may change the button's background, then call some method which does processing and then change the background back after that method returns. Or you can pass the reference to the button in that method which does not seem very clean.

Rather than changing the background color why don't you create a status line at the bottom of the screen and update it as something happens. It may be as simple as a JLabel component positioned at the bottom of the main container. Or you may bring upa dialog with a progress bar whic is a bit more involved.

Let me know if I answered your question.
Avatar of optimal

ASKER

Thanks msmolyak,

But, all you mensioned is exactlly what I'm trying to do without solving my problem.
My problem is that those exact things do not work.
The jbutton doesn't change its background color, a jlabel doesn't change it's text and so on.
These problems occur due to the repaint mechanizem which queue repaint requests instead of forcing them to happen. The process I'm doing in my jbutton's event (SQL query) doesn't seem to release enough resources to do those repaint actions.

Guy.
ASKER CERTIFIED SOLUTION
Avatar of fontaine
fontaine

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of optimal

ASKER

As usual with your answers, it works great.

Thanks again,
Guy.