This week's book giveaway is in the Java in General forum.
We're giving away four copies of Think Java: How to Think Like a Computer Scientist and have Allen B. Downey & Chris Mayfield on-line!
See this thread for details.
Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How to make popup invisible

 
Jack Mns
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If I run the following application and then right-click on the
application, a popup menu will show up. If I move mouse outside the frame (I try to make JComponent visible so that I can move mouse outside JComponent, but I cannot make it happen), popup menu is still visible. I try to add the following to mouseExited method:
popupMenu.setVisible(false);

or add the following to let popup listen to mouse listener:

But these seemingly will disable pupup menu.

What I try to do is: make popup disappear once user move her mouse outside frame (better yet JComponent). How can I do this?

Here is the sample code I just created:

 
Craig Wood
Ranch Hand
Pie
Posts: 1535
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
 
Jack Mns
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks.

Just tried it. It seems popup does not disappear once mouse moved outside
the frame.

Originally posted by Craig Wood:
 
Craig Wood
Ranch Hand
Pie
Posts: 1535
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
 
Craig Wood
Ranch Hand
Pie
Posts: 1535
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you are using j2se 1.5+ here is a way to keep the popupMenu visible until the mouse exits the underlying component or selects a JMenuItem on the menu, ie, so you can mouse in and out of the menu without losing it.
 
Jack Mns
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you very much, Craig. This works really nice.

But there is one problem though:
It works if popup menu is completely inside its parent component. If you
deliberately right-click on the very bottom of the frame, and let popup extends beyond the frame's bottom line, then move mouse down across popup menu til its below it. You can see popup still stays visible even though mouse is outside frame and popup.

It seems mouse still thinks its inside popup's parent component? or its a bug?

Or its a focus probelm: need to make popup lose focus once its moved outside both component/popup?

thanks,





[/qb]<hr></blockquote>
[ July 22, 2006: Message edited by: Jack Mns ]
 
Craig Wood
Ranch Hand
Pie
Posts: 1535
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
 
Jack Mns
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks, Craig. It works like charm now.

Cheers!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic