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

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