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

📄 xcontainerdesktop.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 javax.swing.*;
import javax.swing.event.*;
import java.util.*;

import xbrowser.container.*;
import xbrowser.doc.*;
import xbrowser.widgets.*;
import xbrowser.*;

public class XContainerDesktop extends XAbstractDocumentContainer
{
    public void addDocument(XDocument doc)
    {
    JInternalFrame page = new JInternalFrame(doc.getPageTitle(), true, true, true, true);

    	page.getContentPane().setLayout(new BorderLayout());
		page.getContentPane().add(doc.getComponent(), BorderLayout.CENTER);

        page.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
        page.addInternalFrameListener(internalFrameListener);

        addToList(doc, page);

		desktopPane.addInternalFrame(page);
    }

    public void moveDocumentsTo(XDocumentContainer new_doc_container)
    {
    JInternalFrame[] frames = desktopPane.getAllFrames();
	JInternalFrame page;
	XDocument doc;

		new_doc_container.closeAll();

    	for( int i=0; i<frames.length; i++ )
    	{
			page = frames[i];
    		doc = (XDocument)page_Doc.get(page);

    		removeFromList(doc);
	    	desktopPane.getDesktopManager().closeFrame(page);

	    	new_doc_container.addDocument(doc);
		}
	}

    public void activateDocument(XDocument doc)
    {
    JInternalFrame page = (JInternalFrame)doc_Page.get(doc);

        if( page!=null )
        {
            try
            {
                page.setSelected(true);
            }
            catch( Exception e )
            {
            }
        }
    }

    private void closeDocument(JInternalFrame page)
    {
    XDocument doc = (XDocument)page_Doc.get(page);

    	removeFromList(doc);
		doc.closingDocument();
		fireDocumentClosed(doc);

    	desktopPane.getDesktopManager().closeFrame(page);
    }

    public void closeCurrentDocument()
    {
    JInternalFrame[] frames = desktopPane.getAllFrames();

    	for( int i=0; i<frames.length; i++ )
        {
        	if( frames[i].isSelected() )
            {
	            closeDocument(frames[i]);
                break;
            }
        }
    }

    public void closeAll()
    {
    JInternalFrame[] frames = desktopPane.getAllFrames();

    	for( int i=0; i<frames.length; i++ )
            closeDocument(frames[i]);
    }

    public Component getComponent()
    {
    	return desktopPane;
    }

    public void setTitleFor(XDocument doc, String title)
    {
    JInternalFrame jif = (JInternalFrame)doc_Page.get(doc);

        if( jif!=null )
            jif.setTitle(title);
    }

    public void setContainerTabPlacement(int place)
    {
    }

    public void tileCascade()
    {
		desktopPane.tileCascade();
	}

    public void tileHorizontal()
    {
		desktopPane.tileHorizontal();
	}

    public void tileVertical()
    {
		desktopPane.tileVertical();
	}

    public void minimizeAll()
    {
		desktopPane.minimizeAll();
	}

    public void restoreAll()
    {
		desktopPane.restoreAll();
	}

    private class XInternalFrameListener extends InternalFrameAdapter
    {
		public void internalFrameActivated(InternalFrameEvent e)
		{
		XDocument doc = (XDocument)page_Doc.get(e.getSource());

			if( doc!=null )
				fireDocumentActivated(doc);
		}

		public void internalFrameClosing(InternalFrameEvent e)
		{
			closeDocument((JInternalFrame)e.getSource());
		}
	};

// Attributes:
	private XDesktopPane desktopPane = new XDesktopPane();
	private XInternalFrameListener internalFrameListener = new XInternalFrameListener();
}

⌨️ 快捷键说明

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