Skip to content Skip to sidebar Skip to footer

Addmouselistener To A Program

im trying to overwrite mouseClicked function of MouseAdapter then i can use it in my program as follow: import java.awt.Component; import java.awt.event.MouseAdapter; import java.a

Solution 1:

This code (is an SSCCE &) works. Try changing it one line at a time until you see the error manifest.

import java.awt.event.*;
import javax.swing.*;
import java.net.URL;

publicclasstest {

    publicstaticvoidmain(String[] args)throws Exception {

        Stringuri="http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/event/MouseAdapter.html";
        finalURLurl=newURL(uri);
        JEditorPanehtmlPanel=newJEditorPane(url);
        JFrameframe=newJFrame();
        frame.setContentPane(htmlPanel);

        htmlPanel.addMouseListener(newMouseAdapter() {
            @OverridepublicvoidmouseClicked(MouseEvent e) {
                System.out.println("adr is equal to" + url);

                System.out.println("Clicked!" + e);
            }
        });

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 800);
        frame.setVisible(true);
    }
}

Update

..seems bug is from htmlpanel

I did a bit of digging, based on the comment of StanislavL. It seems a SimpleBrowserFrame extends HtmlPanel & provides the method getComponent() which..

Gets the component that renders the frame. ..

Perhaps if a SimpleBrowser was used, you could add the listener to the child and it would work. Admittedly I am just guessing after a quick trawl though the docs.

Solution 2:

Just a guess. Check children components of the htmlPanel. May be they cover whole panel. Try to attach the listener to all subcomponents after the HtmlPanel is filled with content.

Post a Comment for "Addmouselistener To A Program"