📄 xviewoptionpage.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.options;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import xbrowser.*;
import xbrowser.util.*;
import xbrowser.widgets.*;
public class XViewOptionPage extends XOptionPage
{
public XViewOptionPage()
{
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
setLayout(gridbag);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.insets = new Insets(5,2,5,2);
cmbTabPlacement.addItem(XRepository.getResourceManager().getProperty(this, "Bottom"));
cmbTabPlacement.addItem(XRepository.getResourceManager().getProperty(this, "Left"));
cmbTabPlacement.addItem(XRepository.getResourceManager().getProperty(this, "Right"));
cmbTabPlacement.addItem(XRepository.getResourceManager().getProperty(this, "Top"));
cmbToolBarStyle.addItem(XRepository.getResourceManager().getProperty(this, "IconOnlyStyle"));
cmbToolBarStyle.addItem(XRepository.getResourceManager().getProperty(this, "TextOnlyStyle"));
cmbToolBarStyle.addItem(XRepository.getResourceManager().getProperty(this, "TextIconStyle"));
addToContainer(XRepository.getComponentBuilder().buildLabel(this, "LNF"),this,gridbag,constraints,1,1);
addToContainer(cmbLNF,this,gridbag,constraints,1,1);
addToContainer(Box.createGlue(),this,gridbag,constraints,GridBagConstraints.REMAINDER,1);
addToContainer(lblTheme,this,gridbag,constraints,1,1);
addToContainer(cmbTheme,this,gridbag,constraints,1,1);
addToContainer(Box.createGlue(),this,gridbag,constraints,GridBagConstraints.REMAINDER,1);
addToContainer(XRepository.getComponentBuilder().buildLabel(this, "ContainerStyle"),this,gridbag,constraints,1,1);
addToContainer(cmbDocumentContainer,this,gridbag,constraints,1,1);
addToContainer(Box.createGlue(),this,gridbag,constraints,GridBagConstraints.REMAINDER,1);
addToContainer(lblTabPlacement,this,gridbag,constraints,1,1);
addToContainer(cmbTabPlacement,this,gridbag,constraints,1,1);
addToContainer(Box.createGlue(),this,gridbag,constraints,GridBagConstraints.REMAINDER,1);
addToContainer(XRepository.getComponentBuilder().buildLabel(this, "ToolBarStyle"),this,gridbag,constraints,1,1);
addToContainer(cmbToolBarStyle,this,gridbag,constraints,1,1);
addToContainer(Box.createGlue(),this,gridbag,constraints,GridBagConstraints.REMAINDER,1);
addToContainer(XRepository.getComponentBuilder().buildLabel(this, "Renderer"),this,gridbag,constraints,1,1);
addToContainer(cmbRenderer,this,gridbag,constraints,1,1);
addToContainer(Box.createGlue(),this,gridbag,constraints,GridBagConstraints.REMAINDER,1);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridheight = GridBagConstraints.REMAINDER;
constraints.weighty = 1;
addToContainer(Box.createGlue(),this,gridbag,constraints,GridBagConstraints.REMAINDER,1);
registerListeners();
}
private void registerListeners()
{
cmbDocumentContainer.addItemListener( new ItemListener() {
public void itemStateChanged(ItemEvent e)
{
updateTabPlacement();
}
});
cmbLNF.addItemListener( new ItemListener() {
public void itemStateChanged(ItemEvent e)
{
XLookAndFeel lnf = (XLookAndFeel)cmbLNF.getSelectedItem();
if( cmbTheme.getItemCount()>0 )// a workaround for Bug # ?? (calling removeAllItems() on an empty combobox causes exception)
cmbTheme.removeAllItems();
lblTheme.setEnabled(lnf.hasTheme());
cmbTheme.setEnabled(lnf.hasTheme());
if( lnf.hasTheme() )
{
Iterator themes = lnf.getThemes();
while( themes.hasNext() )
cmbTheme.addItem(themes.next());
cmbTheme.setSelectedItem( lnf.getActiveTheme() );
}
}
});
}
private void updateTabPlacement()
{
XDocumentContainerObject doc_container = (XDocumentContainerObject)cmbDocumentContainer.getSelectedItem();
lblTabPlacement.setEnabled(doc_container.isTabbed());
cmbTabPlacement.setEnabled(doc_container.isTabbed());
}
public String getName()
{
return XRepository.getResourceManager().getProperty(this, "Title");
}
public ImageIcon getIcon()
{
return XRepository.getComponentBuilder().buildImageIcon(this, "image.icon");
}
public void loadInfo()
{
int place = XRepository.getConfiguration().getContainerTabPlacement();
if( place==XProjectConstants.BOTTOM )
cmbTabPlacement.setSelectedIndex(0);
else if( place==XProjectConstants.LEFT )
cmbTabPlacement.setSelectedIndex(1);
else if( place==XProjectConstants.RIGHT )
cmbTabPlacement.setSelectedIndex(2);
else if( place==XProjectConstants.TOP )
cmbTabPlacement.setSelectedIndex(3);
int style = XRepository.getConfiguration().getToolBarStyle();
if( style==XProjectConstants.TOOLBAR_STYLE_ICON_ONLY )
cmbToolBarStyle.setSelectedIndex(0);
else if( style==XProjectConstants.TOOLBAR_STYLE_TEXT_ONLY )
cmbToolBarStyle.setSelectedIndex(1);
else if( style==XProjectConstants.TOOLBAR_STYLE_TEXT_ICON )
cmbToolBarStyle.setSelectedIndex(2);
if( cmbLNF.getItemCount()==0 )
{
Iterator lnfs = XRepository.getConfiguration().getLookAndFeels();
while( lnfs.hasNext() )
cmbLNF.addItem( lnfs.next() );
}
cmbLNF.setSelectedItem( XRepository.getConfiguration().getActiveLNF() );
if( cmbDocumentContainer.getItemCount()==0 )
{
Iterator doc_containers = XRepository.getConfiguration().getDocumentContainers();
while( doc_containers.hasNext() )
cmbDocumentContainer.addItem( doc_containers.next() );
}
cmbDocumentContainer.setSelectedItem( XRepository.getConfiguration().getActiveDocumentContainer() );
if( cmbRenderer.getItemCount()==0 )
{
Iterator renderers = XRepository.getConfiguration().getRenderers();
while( renderers.hasNext() )
cmbRenderer.addItem( renderers.next() );
}
cmbRenderer.setSelectedItem( XRepository.getConfiguration().getActiveRenderer() );
updateTabPlacement();
}
public void saveInfo()
{
XLookAndFeel lnf = (XLookAndFeel)cmbLNF.getSelectedItem();
int index = cmbTabPlacement.getSelectedIndex();
if( index==0 )
XRepository.getConfiguration().setContainerTabPlacement(XProjectConstants.BOTTOM);
else if( index==1 )
XRepository.getConfiguration().setContainerTabPlacement(XProjectConstants.LEFT);
else if( index==2 )
XRepository.getConfiguration().setContainerTabPlacement(XProjectConstants.RIGHT);
else if( index==3 )
XRepository.getConfiguration().setContainerTabPlacement(XProjectConstants.TOP);
index = cmbToolBarStyle.getSelectedIndex();
if( index==0 )
XRepository.getConfiguration().setToolBarStyle(XProjectConstants.TOOLBAR_STYLE_ICON_ONLY);
else if( index==1 )
XRepository.getConfiguration().setToolBarStyle(XProjectConstants.TOOLBAR_STYLE_TEXT_ONLY);
else if( index==2 )
XRepository.getConfiguration().setToolBarStyle(XProjectConstants.TOOLBAR_STYLE_TEXT_ICON);
if( lnf.hasTheme() )
lnf.setActiveTheme( (XTheme)cmbTheme.getSelectedItem() );
XRepository.getConfiguration().setActiveLNF(lnf);
XRepository.getConfiguration().setActiveDocumentContainer( (XDocumentContainerObject)cmbDocumentContainer.getSelectedItem() );
XRepository.getConfiguration().setActiveRenderer( (XRendererObject)cmbRenderer.getSelectedItem() );
}
// Attribute:
private JLabel lblTabPlacement = XRepository.getComponentBuilder().buildLabel(this, "TabPlacement");
private JLabel lblTheme = XRepository.getComponentBuilder().buildLabel(this, "Theme");
private JComboBox cmbTabPlacement = new JComboBox();
private JComboBox cmbToolBarStyle = new JComboBox();
private JComboBox cmbLNF = new JComboBox();
private JComboBox cmbTheme = new JComboBox();
private JComboBox cmbDocumentContainer = new JComboBox();
private JComboBox cmbRenderer = new JComboBox();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -