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

📄 osxadapter.java

📁 A static analysis tool to find bugs in Java programs
💻 JAVA
字号:
package edu.umd.cs.findbugs.gui;import com.apple.eawt.ApplicationAdapter;import com.apple.eawt.ApplicationEvent;/* * Based on sample code from Apple. * * This is the only class that uses the Apple specific EAWT classes. * This class should only ever be referenced via reflection after * checking that we are running on Mac OS X. */public class OSXAdapter extends ApplicationAdapter {	// pseudo-singleton model; no point in making multiple instances	// of the EAWT application or our adapter	private static OSXAdapter theAdapter;	private static com.apple.eawt.Application theApplication;	// reference to the app where the existing quit, about, prefs code is	private FindBugsFrame mainApp;	private OSXAdapter (FindBugsFrame inApp) {		mainApp = inApp;	}	// implemented handler methods. These are basically hooks into	// existing functionality from the main app, as if it came	// over from another platform.	@Override	public void handleAbout(ApplicationEvent ae) {		if (mainApp != null) {			ae.setHandled(true);						// We need to invoke modal About Dialog asynchronously						// otherwise the Application queue is locked for the duration						// of the about Dialog, which results in a deadlock if a URL is						// selected, and we get a ReOpenApplication event when user						// switches back to Findbugs.						javax.swing.SwingUtilities.invokeLater(new Runnable() {								public void run() {									mainApp.about();								}							});		} else {			throw new IllegalStateException("handleAbout: " +														"MyApp instance detached from listener");		}	}	@Override	public void handlePreferences(ApplicationEvent ae) {		if (mainApp != null) {//			mainApp.preferences();			ae.setHandled(true);		} else {			throw new IllegalStateException("handlePreferences: MyApp instance " +														"detached from listener");		}	}	@Override	public void handleQuit(ApplicationEvent ae) {		if (mainApp != null) {			/*						 * You MUST setHandled(false) if you want to			 * delay or cancel the quit. This is important			 * for cross-platform development -- have a			 * universal quit routine that chooses whether			 * or not to quit, so the functionality is			 * identical on all platforms.  This example			 * simply cancels the AppleEvent-based quit and 			 * defers to that universal method.			*/			ae.setHandled(false);			mainApp.exitFindBugs();		} else {			throw new IllegalStateException("handleQuit: MyApp instance detached " +														"from listener");		}	}	// The main entry-point for this functionality.  This is the only method	// that needs to be called at runtime, and it can easily be done using	// reflection (see MyApp.java) 	public static void registerMacOSXApplication(FindBugsFrame inApp) {		if (theApplication == null) {			theApplication = new com.apple.eawt.Application();		}					if (theAdapter == null) {			theAdapter = new OSXAdapter(inApp);		}		theApplication.addApplicationListener(theAdapter);	}	// Another static entry point for EAWT functionality.  Enables the 	// "Preferences..." menu item in the application menu. 	public static void enablePrefs(boolean enabled) {		if (theApplication == null) {			theApplication = new com.apple.eawt.Application();		}		theApplication.setEnabledPreferencesMenu(enabled);	}}

⌨️ 快捷键说明

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