2011-02-26 198 views
0
DOMDocument.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); 

我想要一个红色边框来突出显示鼠标悬停上的元素。在mouseout上,我希望它消失。java:在鼠标悬停和鼠标悬停时突出显示dom元素

如何解决?我写的代码不太好。

+1

什么GUI库工作?你能提供有关你的问题的更多细节吗? –

+0

你没有发布你的DOMDocument如何呈现。 –

回答

0

下面是一个例子说明你问

此示例适用边界到JPanel,你可以修改它的使用与您的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(); 
    } 
} 
+1

这将如何与DOM文件一起工作? – KJW