Disabled whole frame by using glass pane

I want to disable whole frame, not setEnabled( false ) but want to set some kind of invisible layer for making my JFrame disable. Currently i am trying to setGlassPane but i dont know why its not working, any idea?

Take a look at:
http://forum.java.sun.com/thread.jsp?forum=57&thread=294121

Similar Messages

  • Glass Pane( preventUserInput when user clicks on Search button in af:query)

    Hi,
    We are using glass pane implementation on a search screen.
    When I click on Search button in af:query component (having selectInputDate (Date Picker) components)., glass pane is firing correctly,
    but second time when I am trying to select date using Date Picker (and Change the Month), glass pane is fired (entering into handleBusyState function) and calendar popup is not opening.
    I folled the below article for implementation.
    url: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/27-long-running-queries-169166.pdf used for glassPane implementation.
    Can any one help me for this issue.

    Hi am using the following code (javascript) -- Jdev(11.1.1.3)
    function preventUserInput(evt){   
    var eventSource = evt.getSource();
    var popup1 = eventSource.findComponent("showGlassPanePopup");
    if (popup1 != null){
    AdfPage.PAGE.addBusyStateListener(popup1,handleBusyState);
    evt.preventUserInput();
    //JavaScript call back handler
    function handleBusyState(evt){ 
    var popup = AdfPage.PAGE.findComponentByAbsoluteId('r3:0:r1:0:showGlassPanePopup');
    if(popup!=null){
    if (evt.isBusy()){
    popup.show();
    } else if (popup.isPopupVisible()) {
    popup.hide();
    AdfPage.PAGE.removeBusyStateListener(popup, handleBusyState);
    ... End of Code..
    This line .. (popup.isPopupVisible()) removes the Popup , if popup is visible...
    If u want the view am using..
    SELECT EMPNO , DEPTNO , HIREDATE FROM EMPLOYEE (sample Application i have created), created a view criteria for this..
    ( (EMPNO = :empNum ) AND (DEPTNO = :deptNum ) AND (TO_CHAR( TO_TIMESTAMP(HIREDATE), 'yyyy-mm-dd hh24:mi:ss.ff') = :hireDts ) ) (View Criteria)
    .. <af:clientListener method="enforcePreventUserInput" type="query"/> (added for af:query)
    Popup Used: <af:popup id="showGlassPanePopup" contentDelivery="immediate">
    <af:dialog id="d2" type="none" closeIconVisible="false">
    <af:panelGroupLayout id="panelGroupLayout1" layout="vertical">
    <af:outputText value="Processing......Please Wait.." id="ot97"/>
    </af:panelGroupLayout>
    </af:dialog>
    </af:popup>
    1. When i click search for first time.. it is showing like -- Processing .. Please Wait'
    2. When i click select Date picker it is show -- Processing .. Please Wait'
    and show a calender popup window.. If we change the month ... it will again show like -- Processing .. Please Wait'
    and it will not open calender window.
    Please Help me on this..Am facing trouble due to this.
    Thanks in Advance.
    Edited by: user10115793 on Nov 15, 2011 12:58 AM

  • Why can't the Pan & Zoom Tool start with the whole frame using photos

    I've used the pan and zoom animation in Microsoft Movie Maker - and want that same ease of use in any other program (I find it doesn't do a great job of soundtrack and text/image placement) see menu options below....   I Purchased Premiere Elements after watching a short video of the pan & zoom tool - however now that I am trying to use it it falls way short.
    Is there a way to allow me to select the whole photo as the starting frame -- in the screenshot below the frame 1 will not extend to the whole photo so I start off with a cropped image.  I want the full Frame of the photo and then be able to zoom and pan in toward faces - while I can still do this with the cropped frame I loose a good deal of my photo and the context it provides.
    The Microsoft Movie Maker options - very easy                        |              Limitation of Premiere Elements 13 to start with the full photo frame

    Hi,
    You might like to ask that question in the Premiere Elements forum
    Premiere Elements
    It looks to me as though the aspect ration of the photo and the video frame are different and therefore something has to be cropped off.
    But I could be wrong
    Brian

  • Glass pane  how to use it?

    please i am new to Java i wanted toknow more about the glass pane component why cant it be use as the content pane .

    google is your friend
    http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html#glasspane

  • Some of my rotation animation is stepping at about one degree increments instead of tweening smoothly.  I'm using classic tweening.  I see that if I select the whole interval and use F6 to convert every tween frame to a key and then select the object at t

    Some of my rotation animation is stepping at about one degree increments instead of tweening smoothly.  I'm using classic tweening.  I see that if I select the whole interval and use F6 to convert every tween frame to a key and then select the object at the different frames, that I see under transform that the skew values are changes from frame to frame aroung that same one degree range.  Is there a solution to this?

    Some of my rotation animation is stepping at about one degree increments instead of tweening smoothly.  I'm using classic tweening.  I see that if I select the whole interval and use F6 to convert every tween frame to a key and then select the object at the different frames, that I see under transform that the skew values are changes from frame to frame aroung that same one degree range.  Is there a solution to this?

  • How can I block the keyboard using the glass pane ?

    I have a problem with the GlassPaneDemo from the Java Tutorial in
    the
    uiswing/components/example-swing
    folder.
    When the glass pane is visible it blocks the mouse input but the
    keyboard input doesn't. For example if the glass pane is visible and
    you press the F10 key, the menu will be activated. So the keyboard is
    not at all blocked.
    Can this problem be fixed ? I mean, to really block the keyboard
    when the glass pane is visible.
    Here I wrote down the specification written in the
    Java Documentation at the setGlassPane method from the
    RootPaneContainer interface:
    The glassPane is always the first child of the rootPane and the
    rootPanes layout manager ensures that it's always as big as the
    rootPane. By default it's transparent and not visible. It can be
    used to temporarily grab all keyboard and mouse input by adding
    listeners and the making it visible. by default it's not visible.
    As it may be seen, one says that the keyboard input can be blocked.
    HOW ?
    In hope that I resolve the problem, I have made some changes such as,
    adding a key listener to the glass pane add listening to the keyboard events,
    but I failed to fix the problem.
    Faithfully yours,
    Sarmis

    Here is an example that I think will work for you.
    Note the consume() call on the event object. I think that is what you're after.
    import java.awt.event.*;
    import java.awt.*;
    import java.io.*;
    import javax.swing.*;
    public class Comparer extends JFrame implements ActionListener
        private GlassComponent myGlassPane;
        private JTextField myField;
        public Comparer()
            getContentPane().setLayout(new FlowLayout());
            getContentPane().add(myField = new JTextField(20));
            setGlassPane(myGlassPane = new GlassComponent());
            JButton theButton = new JButton("Glass");
            theButton.addActionListener(this);
            getContentPane().add(theButton);
            pack();
        public void actionPerformed(ActionEvent anEvent)
            myGlassPane.setVisible(true);       
        public static void main(String[] args)
            new Comparer().setVisible(true);       
    class GlassComponent extends JComponent implements AWTEventListener
        Window myParentWindow;
        public GlassComponent()
            super();
            this.setCursor( Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR) );
            setOpaque(false);
            addMouseListener( new MouseAdapter() {} );
        public void setVisible(boolean aVisibleBoolean)
            if(aVisibleBoolean)
                if(this.myParentWindow == null)
                    this.myParentWindow = SwingUtilities.windowForComponent(this);
                Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK);
            else
                Toolkit.getDefaultToolkit().removeAWTEventListener(this);
            super.setVisible(aVisibleBoolean);
        public void eventDispatched(AWTEvent anEvent)
            if(anEvent instanceof KeyEvent && anEvent.getSource() instanceof Component)
                if(SwingUtilities.windowForComponent( (Component)anEvent.getSource()) == this.myParentWindow )
                    ((KeyEvent)anEvent).consume();
    } HTH,
    Fredrik

  • Resizing glass pane

    Disabling GUI controlls causing the loose of the controls beauty.
    However, sometimes it is neccessary, to display the control in
    a uneditable mode, especially when the input can not be consumed.
    The perfect idea to maintain the beauty of the GUI contorls and
    make them uneditable, is to put a glass infront of them, so you just
    look from pattern :).
    This is a greate idea provided through GlassPane in the Swing API.
    But, still there is a limitation, why?
    The glass pane should be as large as the JRootPane, which means
    that you have to cover the whole top-level container :(.
    Take this example:
    I have a TabbedPane that consists of multiple tabs and the tabbed pane is loacted in a JApplet. I need to move between the tabs while making the controls in side the tabbs uneditable. Here I was constrained by the
    Glass Pane since it covers the whole applet's area, and no more accessability to the tabbs.
    Some one said: redispatch the event to the TabbedPane, I said: Ok, but
    no method in the TabbedPane tells me which tab has the x,y point.
    I suggest to make the GlassPane resizable, and to provide a method in
    the TabbedPane which takes the x,y a returns the index of the selected
    tab.
    Please what do you think ? :-)

    I think it is not useful because you can create your own glasspane for any component you want !
    Look at this thread :
    http://forum.java.sun.com/thread.jsp?forum=57&thread=268566
    I hope this helps,
    Denis

  • Is there a way to disable that "no zooming" magnifying glass icon?

    I'm working on a folio that uses smooth scrolling articles as well as regular single-page articles. My problem is that when I save everything to PDF format, some pages you can pinch and zoom, and others (specifically the smooth scrolling articles) you can't. I figure if I disable pinch and zoom entirely, there will be less confusion.
    Question 1: Can you choose to turn off pinch and zoom on PDF articles? How?
    Question 2: Can you disable the "no zooming" magnifying glass that pops up when you try to zoom an article that doesn't support it? (eg: smooth scrolling pages)
    Question 3: Does anyone know when smooth scrolling will be possible on PDF articles? Because if smooth scrolling was supported on PDF articles this whole thing wouldn't be a problem to begin with.
    Thanks!

    Thanks Bob!
    In your answer to Question #1, if you turn off "Enable Pinch & Zoom" will the magnifying glass not appear?
    I noticed that the Vogue app featured (http://tv.adobe.com/watch/digital-publishing-customer-showcase/app-of-the-week-vogue/) does not have the magnifying glass icon and wondered how they did that.

  • Why Glass Pane becomes visible when resizing JInternalFrame?

    This qustion has been asked _*here*_ but got no response.
    Hello,
    I've created a JFrame with JDesktop and one JInternalFrame on it. I've also added a glasspane (which draws a black circle only) to JFrame - it's invisible by default but when I resize JInternalFrame it shows up.. is this correct behavior? Why it is visible only when I resize and diappears when I release mouse button after resize? How I can make it invisible when resizing JInternalFrame? (Is removing JFrame's glasspane only solution?)import java.awt.Graphics;
    import javax.swing.JDesktopPane;
    import javax.swing.JFrame;
    import javax.swing.JInternalFrame;
    import javax.swing.JPanel;
    public class RunMe extends JFrame {
         public RunMe() {
              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              this.setBounds(10, 10, 800, 600);
              JDesktopPane desktop = new JDesktopPane();
              JInternalFrame testJIF = new JInternalFrame("test", true, true, true, true);
              testJIF.setBounds(10, 10, 100, 100);
              desktop.add(testJIF);
              testJIF.setVisible(true);
              this.add(desktop);
              this.setGlassPane(new MyGlassPane());
              this.setVisible(true);
         private class MyGlassPane extends JPanel {
              public MyGlassPane() {
                   this.setOpaque(false);
              @Override
              protected void paintComponent(Graphics g) {
                   g.fillOval(0, 0, 100, 100);
                   super.paintComponent(g);
         public static void main(String[] args) {
              new RunMe();
    }

    First of all, thank you for being upfront about cross posting.
    Whether this is "correct" behavior or not may be debatable, but it's certainly expected behavior. From the source of javax.swing.plaf.basic.BasicInternalFrameUI.BorderListener.mousePressed (towards the end of the method)Container c = frame.getTopLevelAncestor();
    if (c instanceof RootPaneContainer) {
       Component glassPane = ((RootPaneContainer)c).getGlassPane();
       glassPane.setVisible(true);
       glassPane.setCursor(s);
    }The glass pane is made visible to show the resize cursor.
    It's set back to visible(false) in finishMouseReleased() which is invoked from mouseRelease and elsewhere (e;g; from cancelResize which is invoked from windowLostFocus)
    Looks like you can't use the glass pane for whatever you had planned, the Swing designers have already used it for something else. Or this could be a workaround, depending on exactly what it is you're trying to do.@Override
    protected void paintComponent(Graphics g) {
       super.paintComponent(g);
       if (this.isOpaque()) {
          g.fillOval(0, 0, 100, 100);
    }You could also declare and use a boolean flag, rather than using isOpaque (which may happen to be set/reset somewhere else in the Swing code ;-)
    db

  • AWT Canvas vs. Swing "glass pane"

    Hello again world.
    The book I've been reading led me down the Swing path but I thought I would go back and take a closer look at the AWT package.
    Is an AWT Canvas analogous to a Swing JRootPane's glass pane?
    Thank you one and all.
    Ciao for now.

    No, not really.
    1) A Canvas is specifically for drawing. There's really no other purpose for it to exist. It's not a container, like Panel. Although, you can use AWT Panel in place of a Canvas, there'd be nothing wrong with that.
    A glasspane has a purpose in a JFrame or other top-level Swing container. It's there to be shown, but often transparently, on top of all other components in that top-level container. You can make the glasspane be any class, yes, but generally it's going to be a JPanel or subclass, and you could paint on it if you override the paintComponent method, or add mouse listeners to intercept mouse events (when it's visible).
    That you can draw on a Canvas or a glasspane component is irrelevant. One can can subclass JButton or JTree or AWT List or any other AWT or Swing component and override the paint or paintComponent method and do custom painting on it. The ability to paint on components is universal. But you wouldn't use a JButton or AWT Button for a glasspane.
    2) You don't want to use Canvas as a glass pane (or any AWT component) if you want the pane to be transparent. AWT components cannot be transparent, so if the component is visible, it'll block out anything under it. It's the whole issue of AWT's heavyweight components vs Swing's lightweight components.

  • How can I Copy/paste the pixels within a frame in a video layer to another frame? (It duplicates the whole frame instead.)

    I'm making a handdrawn animation in the timeline using video layers, so each video layer contains the frames for the animation. The method works great..except for this -
    If lasso select a section of one frame and try to paste into another frame, it duplicates the the whole frame and pastes it with an arbitrary long frame duration for some reason (not the same duration as the frame its copied from)....not at all what I'm trying to do. Any work around? I've tried all the variations of 'paste special' to no avail.
    Thanks.

    Images and other object can either be floating or be inline. Yours are floating and will not move with the text. Inline object will move with the text but can't be outside the text layer. It doesn't help if you have created section in the document. Floating images doesn't care. Nor will it help if you create several documents that you want to merge later. Doesn't make any difference.
    My suggestion is that until your text is finished you have the images inline. Then as a last editing you can start make the images floating and move them a little.

  • Different glass pane behaviour in Mac and Windows

    I have an application with a glass pane containing a panel that is set non-opaque. On this panel I do amouse drag and draw a transparent rectangle when the mouse is released. On the main frame below there is a picture. This works fine on a Mac, I end up with a transparent rectangle on top of the bottom frame. However, when I run the same program on a Windows machine, as soon as the mouse is released, the rectangle is drawn and the glass pane layer gets opaque, hiding the picture below.
    Any solutions?

    >
    I'd suggest you to post some code. ...>Some code is good, but an SSCCE is better. ;-)

  • Disable finger input when using stylus

    Hi,
    It would be really very useful for those of us with Galaxy Notes to have an option to disable finger input when using the device's stylus. It could be that finger input should still be usable for pinch/zoom etc., but not for drawing or erasing.
    An on-screen toggle button for this would be ideal, as in the Galaxy S-Note app, but even an option in the app preferences would be excellent.
    This would make a great mobile app even better.
    Please add a comment if you would find this useful.
    Thanks,
    Mike

    I think this is a good idea, with the proviso (as you mentioned), that you could still use the two finger pan/zoom (and three finger 100% zoom toggle).
    Why don't you stick this in the ideas section? Then people can vote on it.

  • Is there any way to disable Picture Frame on the slide to unlock screen?

    I don't want the photo button on the slide to unlock screens, their doesn't seem to be a way to disable this.

    Yes I'm sure that Apple knows about this.
    You can disable Picture Frame if you use a Passcode on the iPad. Settings>General>Passcode Lock>Picture Frame>Off.
    If you don't use a Passcode, you can select the album of photos that you do not mind sharing in Settings>Picture Frame>Albums.

  • Redrawing glass pane

    Hi, I have a program where I am storing information which takes up some time. I created a progressbar and put it in the glass pane and update it several times during this process. Below i posted a simplified example. In this example it works as it should and the progress bar gets redrawn every time I call pb.update().
    However the code I use in the application is complex and the progress bar does not get drawn onto the screen until the method finishes, which is too late. I have tried putting repaint() calls at the end of the update() method, but that does not work. Although the program enters the paint method, nothing gets drawn onto the screen. The only thing that helped was paintimmediately(), which painted the contentPane() on the screen, but did not paint the glassPane.
    My question is, how does java determine when to redraw the glass pane, since I don't have a repaint() call anywhere. Is there a way to force java to draw the glasspane on the screen? Or if you have any tips as to what could be the problem.
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.*;
    public class Main extends JFrame {
       public Main() {
         setSize(200,50);
         setVisible(true);
         ProgressBar pb = new ProgressBar();
         setGlassPane(pb);
         pb.setVisible(true);
         Thread t = new Thread();
         try {
             t.sleep(1000);
             pb.update();
             t.sleep(1000);
             pb.update();
             t.sleep(1000);
             pb.update();
             t.sleep(1000);
             pb.update();
             t.sleep(300);
         } catch ( Exception e ) {}
         pb.setVisible(false);
        public static void main(String[] args) {
         JFrame.setDefaultLookAndFeelDecorated(true);
         Main app = new Main();
         app.addWindowListener(
            new WindowAdapter() {
               public void windowClosing( WindowEvent e )
              System.exit( 0 );
    public class ProgressBar extends JComponent {
    JProgressBar jProg;
    int cur;
        public ProgressBar () {
         init();
         cur = 0;
         setOpaque(false);
        public void init() {
            jProg = new javax.swing.JProgressBar(0,100);
         jProg.setValue(0);
         jProg.setStringPainted(true);
         jProg.setSize(200,30);
         add(jProg);
       public void update() {
         cur += 25;
         jProg.setValue(cur);
    }

    Read the Swing tutorial on [url http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html]How to Use Progress Bars for a working example. You should also read the section from the tutorial on "How to Use Threads" since you are not using the Thread correctly in you simple demo.

Maybe you are looking for