Catching mouse events on JInternalFrame

hello,
can someone please show me how to catch mouse events on the title bar of JInternalFrame ?
thank you, ruti

You have to add it to the component that is being used to draw the title bar in the L&F UI stuff:InternalFrameUI ifui = myInternalFrame.getUI();  // Your internal frame
if( ifui instanceof BasicInternalFrameUI ) {
    JComponent ncomp = ( (BasicInternalFrameUI) ifui ).getNorthPane();
    ncomp.addMouseListener( myMouseListener ); // Your listener here
}Voila!

Similar Messages

  • Handling mouse events in JSP

    Hi ,
    I have to handle mouse events in JSP,means i have to handle the event
    of the user i.e, if he press the lest click we have to handle that
    event where he pressed it with JSP. Iam finding examples in Applets ,
    nut i have to do it in JSP.Can any body help me please? it's very
    urgent.
    Thanks in advance
    BhargavKumar.B

    JSP cannot catch mouse events. You need a clientside language for that, such as Javascript. So catch the mouse click event in Javascript, get the desired information from it and send it as request parameters to the server, so that the serverside logic can intercept on it. You can use AJAX for that, if you want to do it asynchronously.

  • How to catch the mouse event from the JTable cell of  the DefaultCellEditor

    Hi, my problem is:
    I have a JTable with the cells of DefaultCellEditor(JComboBox) and added the mouse listener to JTable. I can catch the mouse event from any editor cell when this cell didn't be focused. However, when I click the editor to select one JComboBox element, all the mouse events were intercepted by the editor.
    So, how can I catch the mouse event in this case? In other word, even if I do the operation over the editor, I also need to catch the cursor position.
    Any idea will be highly appreciated!
    Thanks in advance!

    Hi, bbritta,
    Thanks very much for your help. Really, your code could run well, but my case is to catch the JComboBox event. So, when I change the JTextField as JComboBox, it still fail to catch the event. The following is my code. Could you give me any other suggestion?
    Also, any one has a good idea for my problem? I look forward to the right solution to this problem.
    Thanks.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Test3
    extends JFrame {
    // JTextField jtf = new JTextField();
    Object[] as = {"aa","bb","cc","dd"};
    JComboBox box = new JComboBox(as);
    public Test3() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container content = getContentPane();
    String[] head = {
    "One", "Two", "Three"};
    String[][] data = {
    "R1-C1", "R1-C2", "R1-C3"}
    "R2-C1", "R2-C2", "R2-C3"}
    JTable jt = new JTable(data, head);
    box.addMouseListener(new MouseAdapter() {
    // jtf.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e)
    System.out.println("-------------------JComboBox mouseclick....");
    jt.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e)
    System.out.println("-------------------JTable mouseclick....");
    // jt.setDefaultEditor(Object.class, new DefaultCellEditor(jtf));
    jt.setDefaultEditor(Object.class, new DefaultCellEditor(box));
    content.add(new JScrollPane(jt), BorderLayout.CENTER);
    setSize(300, 300);
    public static void main(String[] args) {
    new Test3().setVisible(true);
    }

  • Catching external mouse event ??

    This is an old question written by imasud at [http://forums.sun.com/thread.jspa?forumID=3&threadID=140391]
    I which I know the answer
    In java, I have seen, mouse events are only triggered if we move mouse inside a container. But is it possible to catch a mouse event when mouse is not on our container? Example: - My java program is running. - I open notepad and drag mouse - Is it possible to send the event to my java program that mouse is dragged. I will really appreciate if any one can answer my question. Regards .
    My eventual goal is to implement copy paste thingy offered in lunix enviornment. Like if I drag mouse on any text, it should get copied.
    Thank u
    Imran
    "

    The new feature of the forums. Answering questions from the past.
    Let them know they weren't forgotten.
    In java, I have seen, mouse events are only triggered if we move >>mouse inside a container. But is it possible to catch a mouse event >>when mouse is not on our container? Example: - My java program is >>running. - I open notepad and drag mouse - Is it possible to send the >>event to my java program that mouse is dragged. ---------------------->>----------------- I will really appreciate if any one can answer my >>question. Regards .
    My eventual goal is to implement copy paste thingy offered in lunix >>enviornment. Like if I drag mouse on any text, it should get copied.
    Thank uHmm, very good question, I have no idea.
    Tune in next week for our second installmant of "Questions from the past."
    You answer guru - Steve

  • Catching key events in application

    I have a JFrame with a JDesktop containing lots of JInternalFrame with various of components such as JTextFields etc.
    Now, i want to have a "main" listener that will catch key events no matter which component that has focus. For example pressing CTRL+A should produce something in the application no matter which component that has focus.
    How do I implement this in an easy way?

    It doesnt seem to work to add a KeyListener to the JFrame...
    this.addKeyListener(new KeyAdapter(){
                   public void keyTyped(KeyEvent e){
                        System.out.println("KeyTyped()");
                   public void keyPressed(KeyEvent e){
                        System.out.println("KeyTyped()");
              });Adding that to the JFrame gives nothing to System.out when a JTextArea inside an JInternalFrame has focus.

  • Trying to catch mouse double click

    Using come code in the API 1.3 documentation, I created a JList and am trying to catch when a user double clicks on an item in the list. I have the following snippet of code:
    public void mouseClicked(MouseEvent e) {
    if ((e.getClickCount() == 3) && (e.getSource() == list1)) {
    int index1 = list1.locationToIndex(e.getPoint());
    System.out.println("Double clicked from the left list on Item " + index1);
    When I double click on an item in list1, it prints out the output line twice as in:
    Double clicked from the left list on Item 1
    Double clicked from the left list on Item 1
    How can I get it to run the code only once. I'm not sure why it's running it twice. Any Ideas would be helpful. Thanks....
    Matt Menard

    I've used similar procedure with success in JDK1.3.1. Without seeing the rest of your code, the only thing left for you to experiment with is to call the consume() method if the count is greater than 1. I did notice that Java mouse event handler leaves much to be desired. For example, the mouseentered and mouseexited events kept getting fired even tho the mouse has entered and never leave.
    V.V.

  • Touch to Mouse events conversion

    Hi Everybody!
    Does anybody know how correctly fire mouse events to Oracle Maps in javascript?
    Default translation touch events in iPad Safari does not quite fit. It try zoom or pan browser window, not map. :(
    If catch touch events and disable default translation I can zoom and pan MVMapView object.
    But how fire "click","mousemove","mouseover" events on Map? I need dispatch event to ThemeBasedFOIs (InfoWindow Popup and other listeners)?

    Yes. The Oracle Maps tutorial contains examples (the tutorial can be found in your mapviewer deployment
    e.g. http://localhost:7001/mapviewer/fsmc/tutorial/index.html) and documentation in the API reference
    (e.g. http://localhost:7001/mapviewer/fsmc/apidoc/index.html). Look at MVEvent and the attachEventListener function of MVMapView, MVThemeBasedFOI, and MVFOI classes for example.

  • Catch Global Events

    Hi,
    i have a idea for a program. I want to catch all actions from the users. If the user performed this action with the mouse, i wanna show him a notification with the shortcut of this actions. For example: The user open with the mouse a new tab in Safari the program recognize this and show him a message "Hey you can do this with: Apple + T".
    I played around with the
    Code: 
    addGlobalMonitorForEventsMatchingMask:NSLeftMouseDownMask
    but i can't find a connection to the Event that has been performed. Is there anybody with a idea how i can do this with build in classes from Cocoa/Objective-c?  Thank in advance for your help Greetings from Germany  Tobi

    Investigate Display.addFilter().
    "John Daly" <[email protected]> wrote in message
    news:c2800n$fdg$[email protected]..
    > How can I catch Global events in SWT. I want to carry out certain
    > functionality when the user pressed a certain button on the keyboard.
    >

  • Having picked up a mouse event, pass it to parent component.

    This is further to my table cell hover, which is otherwise working.
    I track the mouse accross the table using an invisible child component, and when the mouse leaves it, move the child onto the new cell position.
    The problem is that, while the mouse is over the invisible component, that component is grabbing all the mouse events. My table also wants to detect mouse events (though it's interested in clicks).
    The obvious thing is, after they've been dealt with and the child component level, to transfer the events to the table (having mapped the mouse coordinates). However all the processEvents methods in components like JTable are protected.
    I suppose I could extend JTable and add a method to get arround protected, but that's nasty, especially since a lot of my JTables are already subclassed.

    I had to do just this. I have JLabel's in a JPanel. The JPanel is in a LayeredPane. When I mouse over the JLabels, they grab the mouse events... which I don't want. I want the LayeredPane to get it.
    So in the JLabel, I do:
          * Don't send to parent what you don't have to. Things like tooltips will
          * be broken if this is not handled carefully...
         public void mouseClicked(MouseEvent e) { }
         public void mouseMoved(MouseEvent e) { }
         public void mouseEntered(MouseEvent e) { }
         public void mouseExited(MouseEvent e) { }
         public void mouseReleased(MouseEvent e) { machine.dispatchToParent(e);}
         public void mouseDragged(MouseEvent e) { machine.dispatchToParent(e);}
         public void mousePressed(MouseEvent e) { machine.dispatchToParent(e);}(the "machine" above is a JPanel). Now in the JPanel, aka "machine", I do:
    Point point; int comp_x, comp_y; // for component with respect to this machine
    public void dispatchToParent(MouseEvent e) {
         point=((JComponent)e.getSource()).getLocation();
         //System.out.println("Dispatching: " + e.getX() + " " + e.getY());
         //System.out.println("Component position: " + ((JComponent)(e.getSource())).getLocation());
         if (e.getButton() > 0) MsgIFrame.println("ME at: " + comp_x + "," + comp_y + " button: " + e.getButton() );
         if (e.getButton() > 1) {
              popup(e);
              return;
         comp_x=(int)point.getX(); comp_y=(int)point.getY();
         comp_x+=this.getX(); comp_y+=this.getY();
         e.translatePoint(comp_x, comp_y);
         room.getLayeredPane().dispatchEvent(e);
    }Above, the "room" is a JInternalFrame with a LayeredPane inside it, as you can see. I do a little translating so the LayeredPane gets the event in its coordinate space, not those of its Components.

  • Mouse Events on Disabled Buttons

    Hi,
    In my application I should make a disabled button to show a tool tip when mouse is entered onto it.
    I'm using java.awt.container not Jcontainer.
    I have searched in SDN forums and after reading some of the comments what I understood is �disabled Swing button can react to Mouse events but a disabled awt button can not react to mouse events�.
    Is that true or did I not understand correctly?
    And how would I be able to implement the required functionality in my
    application?
    Thanks.

    import java.awt.*;
    import java.awt.event.*;
    public class AwtTooltip {
        private Panel getContent(Frame f) {
            Button left = new Button("left");
            left.setEnabled(false);
            Button right = new Button("right");
            Panel panel = new Panel(new GridBagLayout());
            new TipManager(panel, f);
            GridBagConstraints gbc = new GridBagConstraints();
            gbc.weightx = 1.0;
            panel.add(left, gbc);
            panel.add(right, gbc);
            return panel;
        public static void main(String[] args) {
            AwtTooltip test = new AwtTooltip();
            Frame f = new Frame();
            f.addWindowListener(closer);
            f.add(test.getContent(f));
            f.setSize(300,100);
            f.setLocation(200,200);
            f.setVisible(true);
        private static WindowListener closer = new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
    class TipManager extends MouseMotionAdapter {
        Panel component;
        Window tooltip;
        Label label;
        public TipManager(Panel panel, Frame frame) {
            component = panel;
            panel.addMouseMotionListener(this);
            initTooltip(frame);
         * Since enabled Buttons consume MouseEvents we will
         * receive events sent only from disabled Buttons.
        public void mouseMoved(MouseEvent e) {
            Point p = e.getPoint();
            boolean hovering = false;
            Component[] c = component.getComponents();
            for(int j = 0; j < c.length; j++) {
                Rectangle r = c[j].getBounds();
                if(r.contains(p)) {
                    hovering = true;
                    if(!tooltip.isShowing())
                        showTooltip(c[j], p);
                    break;
            if(!hovering && tooltip.isShowing()) {
                tooltip.setVisible(false);
        private void showTooltip(Component c, Point p) {
            String text = ((Button)c).getLabel();
            label.setText(text);
            tooltip.pack();
            convertPointToScreen(p, component);
            tooltip.setLocation(p.x+10, p.y-15);
            tooltip.setVisible(true);
        /** Copied from SwingUtilities source code. */
        public void convertPointToScreen(Point p, Component c) {
            Rectangle b;
            int x,y;
            do {
                if(c instanceof Window) {
                    try {
                        Point pp = c.getLocationOnScreen();
                        x = pp.x;
                        y = pp.y;
                    } catch (IllegalComponentStateException icse) {
                        x = c.getX();
                        y = c.getY();
                } else {
                    x = c.getX();
                    y = c.getY();
                p.x += x;
                p.y += y;
                if(c instanceof Window)
                    break;
                c = c.getParent();
            } while(c != null);
        private void initTooltip(Frame owner) {
            label = new Label();
            label.setBackground(new Color(184,207,229));
            tooltip = new Window(owner);
            tooltip.add(label);
    }

  • Java and interaction with system mouse events

    I would like my Java app to be notified of all Mouse events (primarily clicks is what I am interested in) even when they occur outside the java app or when java app is not the focus. For example the user may be clicking on the File menu of Microsoft Word. I'd like to know that a mouse click occured at x,y coordinate when that happens.
    Can this be done with Java API or is there a need for native code that talks to the OS (Windows and OS X) directly, which should be called with Java Native Interface?
    I would appreciate any pointers in the right direction.

    Hi,
    I'm also trying to find a way of intercepting mouse clicks when they occur outside java components.
    The code for getting the pointer location from the desktop is:
    import java.awt.*;
    public class MouseLocation
         private MouseInfo mInfo;
         private PointerInfo pInfo;
         private Point point = new Point();
         private int buttons = 0;
         private double pointX = 0d;
         private double pointY = 0d;
         private Robot robot;
         public MouseLocation()
              try
              {     robot = new Robot();     }
              catch(Exception e)     {     }
              hasMouse();     
              pointerLocation();
         }//ends constr.
         private void hasMouse()
              buttons = mInfo.getNumberOfButtons();
              if(buttons == -1)
                   System.out.println("No mouse detected.  Program terminated.");     
                   System.exit(0);     
         }//ends hasMouse()
         private void pointerLocation()
              try
                   pInfo = mInfo.getPointerInfo();
                   point = pInfo.getLocation();
                   pointX = point.getX();
                   pointY = point.getY();
                   System.out.println("pointer is at: (" + (int)pointX + ", " + (int)pointY + ")");
                   delay();
              catch(HeadlessException he)     
                   System.out.println((he.toString()) + ".  Program terminated.");     
                   System.exit(1);
              catch(SecurityException se)     
                   System.out.println((se.toString()) + ".  Program terminated.");     
                   System.exit(1);
         }//ends pointerLocation()
         public String getPointerLocation()
         {     return (point.toString());     }//ends getPointerLocation()
         public void delay()
              try
                   robot.delay(6000);     
                   pointerLocation();
              catch(Exception e)     {     }
         }//ends delay()
         public static void main(String[] args)
              MouseLocation ml = new MouseLocation();
         }//ends
    }//ends class MouseLocation

  • Cant capt a mouse event on a JScrollPane

    Hi! Its been several hours now since i began trying to change the content of a JEditor at the click of the mouse on a JScrollPane.
            mailTextArea.setEditable(false);
            mailTextArea.setContentType("text/html");       
           lMails = new ListaMails(6, "diego", "qwe", "");       
            lMails.revalidate();       
            ResidentInbox.setViewportView(lMails);
              mails is a Jpanel containing a jList of incomming mail.
    the idea is to show the mail in the jeditor.
    but the jscrollpane`s mouse pressed event never triggers.
    private void ResidentInboxMousePressed(java.awt.event.MouseEvent evt) {
            // TODO add your handling code here:
            Debug.print("PantallaPrincipal.ResidentInboxMousePressed");
            mailTextArea.setText(lMails.getMail(lMails.getMaillist().getSelectedIndex()).getMensaje());
            mailTextArea.revalidate();
        }here is the addmouselistner.
    ResidentInbox.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mousePressed(java.awt.event.MouseEvent evt) {
                    ResidentInboxMousePressed(evt);
            });WHY!?

    Solved!
    The problem was that I was trying to catch the event on the jScrollPanel, that was behind the JPanel that was behind the JList, that was the only control that could catch these events, AND at the same time was a private variable of the LMails class, SO it was IMPOSIBLE to add a mouselistener to it from the JFrame where I was using the LMails without previously declaring this JList as public in the LMails Class. and then issuing these statements:
    lMails = new ListaMails(6, "diego", "qwe", "");
            lMails.getMaillist().addMouseListener(new java.awt.event.MouseAdapter() {
                public void mousePressed(java.awt.event.MouseEvent evt) {
                    listaMailsMousepressed();
            lMails.revalidate();
            jScrollPane1.setViewportView(lMails);
            //jScrollPane2.revalidate();
            mailTextArea.setEditable(false);
            mailTextArea.setContentType("text/html");
        private void listaMailsMousepressed() {
            mailTextArea.setText(lMails.getMail(lMails.getMaillist().getSelectedIndex()).getMensaje());
        }Hope It helps someone.. I lost half a day on it. It would have been nice to receive some response, almost feel like talking to myself around here. Thats terrify for a newbe.

  • How to catch click event on a link from an applet

    how to catch click event on a link from an applet

    The applet has to call a mouse listener:
    public class Applet extends Applet
                   implements MouseListener, MouseMotionListener
    The mouse methods must be included, here is the one to catch a click
    public void mouseClicked(MouseEvent e)

  • Capturing desktop mouse events in java

    hi,
    i want to capture mouse events running outside JVM,how do i get
    it.example if click on some application for opening it.how will i get it in my java prog.
    bye

    There is an example,it works well .
    import java.awt.*;
    public class CatchMouse {
         public static void main(String[] args) {
              int limit=10;
              Point mp=null;
              for(int i=0;i<limit;i++){
                   mp=MouseInfo.getPointerInfo().getLocation();
                   System.out.println(mp.x+","+mp.y);
                   try{
                        Thread.sleep(500);
                   }catch(InterruptedException ie){
    }I hope it can help you.

  • How to catch children events?

    Hi all!
    I have a problem. I thought it should be easy to implement, but I didn't found solution! :(
    The problem is a next one: I have a JFrame that contains some components inside like Panels, Buttons, ... But what I need is a catch all mouse movements inside JFrame even if the event was appeared over these components.
    Maximum what I could get is catch mose events over the empty space of JFrame.
    Is anybody know how to do it?
    Thank you!
    Vladimir

    Thank you,
    That's exactly what I going to do today, but look at this http://forum.java.sun.com/thread.jsp?forum=57&thread=170512&start=0&range=15
    That is what I searched for!
    Anyway thanks a lot for your cooperation!
    Best regards,
    Vladimir

Maybe you are looking for

  • HT201365 New update  & new features for Iphone  in iOS7

    I dont like the new update and new features at all.  How can i go back to the old feature?

  • Already have LR5 & CS6 - Signed up for photo CC do I need to re-download?

    I have paid licenses for LR5 and CS6 with Photoshop and other applications.  I sigend up for the Photo CC and wonder if I need to downloand the LR & PS to activate CC?  Also will I be able to retain my full license of PS and LR?

  • Loading U3D via JS

    Hi;      I tried to find in the forums but didn't find anything that worked.      I have some u3d files attached to my pdf and I want to load them in the same annotation depending on the user input.      I know how to reference them but i dont know h

  • Moving folder from a PC to an iMac in Lightroom 5

    I'm in the process of migrating from Windows to an iMac, but I'm having problems with moving folders / files within LR 5 and could do with some clear step-by-step advice please. On the Windows PC I had all of my photos on an external hard-drive and m

  • Tar: *: Cannot stat: No such file or directory

    everything except these lines is fine: ==> Removing info/doc files... ==> Compressing man pages... ==> Stripping debugging symbols from libraries... ==> Stripping symbols from binaries... ==> Generating .FILELIST file... tar: *: Cannot stat: No such