xpluginuimanager.java

来自「java写的浏览器」· Java 代码 · 共 95 行

JAVA
95
字号
/****************************************************************
*              XBrowser  -  eXtended web Browser                *
*                                                               *
*           Copyright (c) 2000-2001  Armond Avanes              *
*     Refer to ReadMe & License files for more information      *
*                                                               *
*                                                               *
*                      By: Armond Avanes                        *
*       Armond555@yahoo.com     &    Armond333@yahoo.com        *
*                http://xbrowser.sourceforge.net/               *
*****************************************************************/
package xbrowser.plugin;

import java.util.*;
import java.beans.*;

import xbrowser.*;
import xbrowser.util.*;
import xbrowser.plugin.event.*;
import xbrowser.widgets.*;

public final class XPluginUIManager implements XPluginListener, PropertyChangeListener
{
	public XPluginUIManager()
	{
		XRepository.getPluginManager().addPluginListener(this);
	}

	public void pluginAdded(XPluginObject plugin)
	{
		plugin.addPropertyChangeListener(this);
	}

	public void pluginRemoved(XPluginObject plugin)
	{
		plugin.removePropertyChangeListener(this);
	}

	public void propertyChange(PropertyChangeEvent evt)
	{
	XPluginObject plugin = (XPluginObject)evt.getSource();
	String prop_name = evt.getPropertyName();

		if( prop_name.equals("Status") && plugin.getDock()==XProjectConstants.PLUGIN_DOCK_FLOATABLE )
		{
			if( plugin.getStatus()==XProjectConstants.PLUGIN_STARTED )
			{
			XPluginFrame frame = (XPluginFrame)plugin_Frame.get(plugin);

				if( frame==null )
				{
					frame = new XPluginFrame(plugin);
					plugin_Frame.put(plugin, frame);
				}

				frame.setVisible(true);
			}
			else if( plugin.getStatus()==XProjectConstants.PLUGIN_STOPPED )
			{
			XPluginFrame frame = (XPluginFrame)plugin_Frame.get(plugin);

				if( frame!=null )
					frame.setVisible(false);
			}
		}
		else if( prop_name.equals("Dock") )
		{
			if( plugin.getDock()==XProjectConstants.PLUGIN_DOCK_FLOATABLE )
			{
				if( plugin.getStatus()==XProjectConstants.PLUGIN_STARTED )
				{
				XPluginFrame frame = new XPluginFrame(plugin);

					plugin_Frame.put(plugin, frame);
					frame.setVisible(true);
				}
			}
			else
			{
			XPluginFrame frame = (XPluginFrame)plugin_Frame.remove(plugin);

				if( frame!=null )
				{
					frame.setVisible(false);
					frame.dispose();
				}
			}
		}
	}

// Attributes:
    private static XPluginUIManager instance = null;
    private Map plugin_Frame = new HashMap();
}

⌨️ 快捷键说明

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