mouselistenertrigger.java
来自「用java 实现屏幕取词技术」· Java 代码 · 共 72 行
JAVA
72 行
/* * 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 + =
减小字号Ctrl + -
显示快捷键?