📄 xcontainertabbedpane.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 javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.util.*;
import xbrowser.container.*;
import xbrowser.doc.*;
import xbrowser.widgets.*;
import xbrowser.*;
public class XContainerTabbedPane extends XAbstractDocumentContainer
{
public XContainerTabbedPane()
{
tabbedPane = new JTabbedPane() {
public String getToolTipText(MouseEvent e)
{
if( e==null )
return null;
int index = getUI().tabForCoordinate(this,e.getX(),e.getY());
if( index!=-1 )
{
XDocument doc = (XDocument)page_Doc.get( getComponentAt(index) );
return doc.getPageCompletePath();
}
else
return null;
}
};
ToolTipManager.sharedInstance().registerComponent(tabbedPane);
tabImage = XRepository.getComponentBuilder().buildImageIcon(this, "image.Tab");
registerListeners();
}
private void registerListeners()
{
tabbedPane.addChangeListener( new ChangeListener() {
public void stateChanged(ChangeEvent e)
{
Component comp = tabbedPane.getSelectedComponent();
if( comp!=null )
{
XDocument doc = (XDocument)page_Doc.get(comp);
if( doc!=null )
fireDocumentActivated(doc);
}
}
});
tabbedPane.addMouseListener( new MouseAdapter() {
public void mouseReleased(MouseEvent e)
{
if( e.isPopupTrigger() )
{
int x = e.getX();
int y = e.getY();
int index = tabbedPane.getUI().tabForCoordinate(tabbedPane, x, y);
if( index!=-1 )
XBrowser.getBrowser().showPopupMenu(tabbedPane, x, y);
}
}
});
}
public void addDocument(XDocument doc)
{
JPanel page = new JPanel();
page.setLayout(new BorderLayout());
page.add(doc.getComponent(), BorderLayout.CENTER);
addToList(doc, page);
tabbedPane.addTab(doc.getPageTitle(), tabImage, page);
tabbedPane.setSelectedComponent(page);
}
public void moveDocumentsTo(XDocumentContainer new_doc_container)
{
int size = tabbedPane.getTabCount();
JPanel page = null;
XDocument doc;
new_doc_container.closeAll();
for( int i=0; i<size; i++ )
{
page = (JPanel)tabbedPane.getComponentAt(0);
doc = (XDocument)page_Doc.get(page);
removeFromList(doc);
tabbedPane.remove(page);
new_doc_container.addDocument(doc);
}
}
public void activateDocument(XDocument doc)
{
JPanel page = (JPanel)doc_Page.get(doc);
if( page!=null )
tabbedPane.setSelectedComponent(page);
}
private void closeDocument(JPanel page)
{
XDocument doc = (XDocument)page_Doc.get(page);
removeFromList(doc);
doc.closingDocument();
fireDocumentClosed(doc);
}
public void closeCurrentDocument()
{
JPanel page = (JPanel)tabbedPane.getSelectedComponent();
if( page!=null )
{
closeDocument(page);
tabbedPane.remove(page);
}
}
public void closeAll()
{
int size = tabbedPane.getTabCount();
JPanel page = null;
for( int i=0; i<size; i++ )
{
page = (JPanel)tabbedPane.getComponentAt(0);
closeDocument(page);
tabbedPane.remove(page);
}
}
public void tileCascade()
{
}
public void tileHorizontal()
{
}
public void tileVertical()
{
}
public void minimizeAll()
{
}
public void restoreAll()
{
}
public Component getComponent()
{
return tabbedPane;
}
public void setTitleFor(XDocument doc, String title)
{
int index = tabbedPane.indexOfComponent((JPanel)doc_Page.get(doc));
if( index!=-1 )
tabbedPane.setTitleAt( index, title);
}
public void setContainerTabPlacement(int place)
{
try
{
tabbedPane.setTabPlacement(place);
}
catch( Exception e )
{
}
}
// Attributes:
private ImageIcon tabImage = null;
private JTabbedPane tabbedPane;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -