Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   How to stop a jframe from being moved (http://www.velocityreviews.com/forums/t951649-how-to-stop-a-jframe-from-being-moved.html)

clusardi2k@aol.com 08-31-2012 02:06 PM

How to stop a jframe from being moved
 
How can I prevent/stop a jframe from being moved on the monitor.

Thank you,

Eric Sosman 08-31-2012 02:47 PM

Re: How to stop a jframe from being moved
 
On 8/31/2012 10:06 AM, clusardi2k@aol.com wrote:
> How can I prevent/stop a jframe from being moved on the monitor.


What a horrible idea!

There are lots of ways. A few of the more sensible:

- Turn off the monitor.

- Uninstall the drivers for all user interaction devices.

- Turn off the computer.

- Electrocute the user.

A few of the less sensible:

- Use a javax.swing.Timer to forcibly reposition the JFrame
every delta-T milliseconds, thus negating the user's attempt
to move it. (For extra credit, play a sound clip of a
maniacal laugh.)

- See if there's a way to listen for window movement events,
and forcibly reposition when/if they occur. Doesn't look
like WindowListener will do this, but maybe you can hack
up some weird combination of WindowFocusListener and
MouseAdapter to get the notification you need, possibly
using the JFrame's glass pane.

- Maybe if you suppress the window decorations there won't
be a "move window" handle.

- Maybe using full-screen exclusive mode would help with some
of the approaches mentioned above.

> Thank you,


Two words you're unlikely to hear from your users.

The single most important reason to have a windowing system in
the first place is to allow multiple applications to share display
space and input devices. When you say "*My* application always
owns this chunk of screen real estate," you are also saying "*My*
application's need for that bit of screen is greater than that
of any other application, *even those I've never imagined.*" The
ancient Greeks called this attitude "ὕβρις," and displaying ὕβρις
was an excellent way to get yourself punished by the dwellers
on Olympus ...

--
Eric Sosman
esosman@ieee-dot-org.invalid

clusardi2k@aol.com 08-31-2012 02:57 PM

Re: How to stop a jframe from being moved
 
Using the following event produces a jerky effect. Do you have something better!

private void formComponentMoved(java.awt.event.ComponentEvent evt)
{

this.setLocationRelativeTo(my_modal_frame_obj)
}

Thanks,

clusardi2k@aol.com 08-31-2012 03:01 PM

Re: How to stop a jframe from being moved
 
I also get the below exception trace when the project starts:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Toy_Package.Toy_Obj.formComponentMoved(Toy_Obj.jav a:1859)
at Toy_Package.Toy_Obj.access$000(Toy_Obj.java:25)
at Toy_Package.Toy_Obj$2.componentMoved(Toy_Obj.java: 770)
at java.awt.AWTEventMulticaster.componentMoved(AWTEve ntMulticaster.java:169)

....

Thanks,

Andreas Leitgeb 08-31-2012 05:26 PM

Re: How to stop a jframe from being moved
 
Eric Sosman <esosman@ieee-dot-org.invalid> wrote:
> On 8/31/2012 10:06 AM, clusardi2k@aol.com wrote:
>> How can I prevent/stop a jframe from being moved on the monitor.

> What a horrible idea!
> There are lots of ways. A few of the more sensible:
> - Turn off the monitor.
> - Uninstall the drivers for all user interaction devices.
> - Turn off the computer.
> - Electrocute the user.


How about the legal way?
OP should add a subparagraph 12.4.2 to their software's EULA,
that simply forbids the licencee("user") to move certain/all
of the application's windows.



All times are GMT. The time now is 01:42 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.