开发者

java: highlight dom element on mouseover and mouse out

开发者 https://www.devze.com 2023-02-13 09:32 出处:网络
DOM开发者_JAVA技巧Document.addEventListener(\"mousemove\", new EventListener() { public void handleEvent(Event evt) {
 DOM开发者_JAVA技巧Document.addEventListener("mousemove", new EventListener() {                            
                        public void handleEvent(Event evt) {     
                            System.out.println(evt.getType().toString());

                                final DOMElement targetElement = (DOMElement) browserDocument.getElementfromPixelPosition(mpl.screenX, mpl.screenY);
                                targetElement.setAttribute("style", "border:1px solid red;");

                                targetElement.addEventListener("mouseout", new EventListener() {                            
                                    public void handleEvent(Event evt) { 
                                        System.out.println(evt.getType().toString());
                                        targetElement.setAttribute("style", "border:none;");
                                }
                            }, false);
                        }
                    }, false);

I want a red border to highlight elements on mouseover. on mouseout, I want it to disappear.

How to fix it? The code I wrote doesn't work too well.


Here is an example illustrating what you asked

This example applies the border to a JPanel, you can modify it to work with your dom element

import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;

public class HighlightBorder extends MouseAdapter {

    JPanel p;
    LineBorder border;

    public HighlightBorder() {
        JFrame j = new JFrame();
        p = new JPanel();
        border = new LineBorder(Color.red, 2);
        j.getContentPane().add(p);
        j.setSize(400, 300);
        j.setVisible(true);
        p.addMouseListener(this);
    }

    public void mouseEntered(MouseEvent e) {
        p.setBorder(border);
    }

    public void mouseExited(MouseEvent e) {
        p.setBorder(null);
    }

    public static void main(String[] args) {
        new HighlightBorder();
    }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消