xoptionpage.java

来自「java写的浏览器」· Java 代码 · 共 87 行

JAVA
87
字号
/****************************************************************
*              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 xbrowser.*;

public abstract class XOptionPage extends JPanel
{
	public void addPage(XOptionPage page)
	{
		children.add(page);
	}

	public void removePage(XOptionPage page)
	{
		children.remove(page);
	}

	public Iterator getChildPages()
	{
		return children.iterator();
	}

	public boolean hasChildPage()
	{
		return( !children.isEmpty() );
	}

	protected void addToContainer(Component comp, Container container, GridBagLayout gridbag, GridBagConstraints constraints, int grid_width, double weight_x)
	{
        constraints.gridwidth = grid_width;
        constraints.weightx = weight_x;
        gridbag.setConstraints(comp, constraints);
		container.add(comp);
	}

	public JPanel getTitleComponent()
	{
		if( pnlTitle==null )
		{
		JLabel lbl_title = new JLabel(XProjectConstants.PRODUCT_NAME+" : "+getName(), JLabel.CENTER);
		Font fnt = lbl_title.getFont();

			lbl_title.setFont( fnt.deriveFont(Font.BOLD,fnt.getSize()+4) );

			pnlTitle = new JPanel( new BorderLayout() );
			pnlTitle.add(new JLabel(getIcon()), BorderLayout.EAST);
			pnlTitle.add(new JLabel(getIcon()), BorderLayout.WEST);
			pnlTitle.add(lbl_title, BorderLayout.CENTER);
			pnlTitle.setBorder(BorderFactory.createTitledBorder(""));
		}

		return pnlTitle;
	}

	public void updateUI()
	{
		super.updateUI();

		if( pnlTitle!=null )
			SwingUtilities.updateComponentTreeUI(pnlTitle);
	}

	public abstract String getName();
	public abstract ImageIcon getIcon();

	public abstract void loadInfo();
	public abstract void saveInfo();

// Attributes:
	private LinkedList children = new LinkedList();
	private JPanel pnlTitle = null;
}

⌨️ 快捷键说明

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