📄 xcontainerdesktop.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 + -