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

📄 xabstractdocumentcontainer.java

📁 XBrowser是一个完全免费并且开源的Web浏览器
💻 JAVA
字号:
/****************************************************************
*              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.container.view;

import java.awt.*;
import java.util.*;

import xbrowser.doc.*;
import xbrowser.doc.event.*;
import xbrowser.container.*;
import xbrowser.container.event.*;

public abstract class XAbstractDocumentContainer implements XDocumentContainer, XDocumentListener
{
    public static void addDocumentContainerListener(XDocumentContainerListener container_listener)
    {
		containerListeners.add(container_listener);
	}

    public static void removeDocumentContainerListener(XDocumentContainerListener container_listener)
    {
		containerListeners.remove(container_listener);
	}

    protected void fireDocumentActivated(XDocument doc)
    {
	Iterator it = containerListeners.iterator();

		activeDocument = doc;

		while( it.hasNext() )
			((XDocumentContainerListener)it.next()).documentActivated(doc);
	}

    protected void fireDocumentAdded(XDocument doc)
    {
	Iterator it = containerListeners.iterator();

		activeDocument = doc;

		while( it.hasNext() )
			((XDocumentContainerListener)it.next()).documentAdded(doc);
	}

    protected void fireDocumentClosed(XDocument doc)
    {
	Iterator it = containerListeners.iterator();

		activeDocument = null;

		while( it.hasNext() )
			((XDocumentContainerListener)it.next()).documentClosed(doc);
	}

    protected abstract void setTitleFor(XDocument doc, String title);

	protected void addToList(XDocument doc, Component page)
	{
        page_Doc.put(page, doc);
        doc_Page.put(doc, page);

        doc.addDocumentListener(this);
	}

	protected void removeFromList(XDocument doc)
	{
		page_Doc.remove( doc_Page.remove(doc) );
        doc.removeDocumentListener(this);
	}

    public void documentLoadingStarted(XDocument doc)
    {
        setTitleFor(doc, doc.getPageTitle());
	}

    public void documentLoadingFinished(XDocument doc)
    {
        setTitleFor(doc, doc.getPageTitle());
	}

    public void pageAddedToDocumentHistory(XDocument doc, String url)
    {
	}

   	public XDocument createNewDocument()
    {
    XDocument doc = XDocumentFactory.createNewDocument();

    	addDocument(doc);
		fireDocumentAdded(doc);
        return doc;
    }

    public boolean hasDocument()
    {
		return( !doc_Page.isEmpty() );
	}

    public Iterator getDocuments()
    {
    	return doc_Page.keySet().iterator();
    }

    public XDocument getActiveDocument()
    {
		return activeDocument;
	}

// Attributes:
    protected static LinkedList containerListeners = new LinkedList();

    protected XDocument activeDocument = null;
    protected Map page_Doc = new HashMap();
    protected Map doc_Page = new HashMap();
}

⌨️ 快捷键说明

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