📄 mouselistenertrigger.java
字号:
/* * MyClass.java * * Created on 2007-4-2, 23:23:46 * * To change this template, choose Tools | Templates * and open the template in the editor. */package dyno.swing.beans;import java.awt.AWTEvent;import java.awt.Component;import java.awt.Container;import java.awt.Window;import java.awt.event.AWTEventListener;import java.awt.event.MouseEvent;import java.util.ArrayList;import javax.swing.JComponent;import javax.swing.RootPaneContainer;import javax.swing.SwingUtilities;/** * * @author rehte */public class MouseListenerTrigger implements AWTEventListener { private ArrayList<Window> windows = new ArrayList<Window>(); public MouseListenerTrigger() { } private void addMouseListener(Container container) { if (container instanceof JComponent) { JComponent jc = (JComponent) container; WordPicker picker = new WordPicker(jc); container.addMouseMotionListener(picker); } int count = container.getComponentCount(); for (int i = 0; i < count; i++) { Component child = container.getComponent(i); if (child instanceof Container) { addMouseListener((java.awt.Container) child); } } } public void eventDispatched(AWTEvent event) { if (event instanceof MouseEvent) { Object src = event.getSource(); if (src != null && src instanceof Component) { Component component = (Component) src; Window window = null; if (component instanceof Window) { window = (Window) component; } else { window = SwingUtilities.getWindowAncestor(component); } if (window != null && !windows.contains(window)) { if (window instanceof RootPaneContainer) { addMouseListener(((RootPaneContainer) window).getContentPane()); } else { addMouseListener(window); } windows.add(window); } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -