File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Swing / AWT / SWT and the fly likes Drawing a selection box using swing Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Drawing a selection box using swing" Watch "Drawing a selection box using swing" New topic

Drawing a selection box using swing

luk luka

Joined: May 09, 2011
Posts: 1
I have written an application with a panel and three buttons. I want to add selection this buttons using the mouse. I mean like we have in Windows on the Desktop. I press the left mouse button and with the movement of the mouse the area selection is growing.

Is there a specific interface in this or do I have it manually call the appropriate methods for event listeners and there draw transparent rectangle? Here is a picture:

So I have a problem when I paint rectangle using event mouse-dragged, button is repainting so user see blinking button. I want to this button don't disapear when I paint rectangle. I think that I need to use glassPane. This is my conception. I have a frame. In frame I add panel with button and I need another panel where I will paint transparent rectangle. I am thinking then my button will not be still repainting. What do you think about this conception. Or maybe someone have another idea. This is code:

I know that code is no perfect but almost work. I have a little problem. When I press the mousebutton and dragging my button disapear.

I don't need advise like "your code is wrong". I know that and I want to somebody help me what I must correct. I know that I shouldn't use paintComponent() in mouseEvents but only that way I can paint transparent rectangle. Or maybe you can othet idea how I can draw transparent rectangle. I try and try and I think that i must change mouseDragged method. because when I delete code from this method and only draw rectangle over a button all is ok. But problem is when I need draw rectangle by dragging mouse. I should change paint but I don't have idea how. I need some ideas how I can solve my problem. Maybe I should use glass pane?
Darryl Burke

Joined: May 03, 2008
Posts: 5115

Hi luk luka and welcome to the Ranch!

You have totally ignored my advice given several hours ago in your cross post at

I see you have also cross posted this to SO

Please BeForthrightWhenCrossPostingToOtherSites !

edit One more cross post with the same advice

luck, db
There are no new questions, but there may be new answers.
I agree. Here's the link:
subject: Drawing a selection box using swing
It's not a secret anymore!