How to stop a jframe from being moved

Discussion in 'Java' started by clusardi2k@aol.com, Aug 31, 2012.

  1. Guest

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

    Thank you,
    , Aug 31, 2012
    #1
    1. Advertising

  2. Eric Sosman Guest

    On 8/31/2012 10:06 AM, 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
    d
    Eric Sosman, Aug 31, 2012
    #2
    1. Advertising

  3. Guest

    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,
    , Aug 31, 2012
    #3
  4. Guest

    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.java: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(AWTEventMulticaster.java:169)

    ....

    Thanks,
    , Aug 31, 2012
    #4
  5. Eric Sosman <> wrote:
    > On 8/31/2012 10:06 AM, 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.
    Andreas Leitgeb, Aug 31, 2012
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page