⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glasspane.java

📁 一个将JAVA打包成为。exe软件的工具软件 内代源码
💻 JAVA
字号:
package net.sf.launch4j.formimpl;

import java.awt.AWTEvent;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.AWTEventListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;

import javax.swing.JComponent;
import javax.swing.SwingUtilities;

/**
 * This is the glass pane class that intercepts screen interactions during
 * system busy states.
 * 
 * Based on JavaWorld article by Yexin Chen.
 */
public class GlassPane extends JComponent implements AWTEventListener {
	private final Window _window;

	public GlassPane(Window w) {
		_window = w;
		addMouseListener(new MouseAdapter() {});
		addKeyListener(new KeyAdapter() {});
		setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
	}

	/**
	 * Receives all key events in the AWT and processes the ones that originated
	 * from the current window with the glass pane.
	 * 
	 * @param event
	 *            the AWTEvent that was fired
	 */
	public void eventDispatched(AWTEvent event) {
		Object source = event.getSource();
		if (event instanceof KeyEvent
				&& source instanceof Component) {
			/*
			 * If the event originated from the window w/glass pane,
			 * consume the event.
			 */
			if ((SwingUtilities.windowForComponent((Component) source) == _window)) {
				((KeyEvent) event).consume();
			}
		}
	}

	/**
	 * Sets the glass pane as visible or invisible. The mouse cursor will be set
	 * accordingly.
	 */
	public void setVisible(boolean visible) {
		if (visible) {
			// Start receiving all events and consume them if necessary
			Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK);
		} else {
			// Stop receiving all events
			Toolkit.getDefaultToolkit().removeAWTEventListener(this);
		}
		super.setVisible(visible);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -