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

📄 xaboutlayout.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.screen;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

import xbrowser.*;
import xbrowser.util.*;
import xbrowser.widgets.*;

public class XAboutLayout extends XDialog
{
	public XAboutLayout()
	{
	    super(true);

		setTitle( XRepository.getResourceManager().getProperty(this, "Title") );
		getContentPane().setLayout(new BorderLayout());

	JTabbedPane tab = new JTabbedPane();
	ImageIcon icon;
	String title;

		icon = buildImageIcon(this, "image.XBrowser");
		tab.addTab(XProjectConstants.PRODUCT_NAME, icon, getFirstPage());

		icon = buildImageIcon(this, "image.Contact");
		title = XRepository.getResourceManager().getProperty(this, "ContactInfo");
		tab.addTab(title, icon, getSecondPage());

		icon = buildImageIcon(this, "image.Acknowledgement");
		title = XRepository.getResourceManager().getProperty(this, "Acknowledge");
		tab.addTab(title, icon, getThirdPage());

		getContentPane().add(tab,BorderLayout.CENTER);

	JPanel pnl_south = new JPanel(new FlowLayout(FlowLayout.RIGHT));
	JButton btn_ok = buildButton(new OKAction());

		pnl_south.add(btn_ok);
		getContentPane().add(pnl_south,BorderLayout.SOUTH);

        getRootPane().setDefaultButton(btn_ok);

		pack();
		//setResizable(false);
	}

	private 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);
	}

    private JPanel getFirstPage()
    {
    GridBagLayout gridbag = new GridBagLayout();
    GridBagConstraints constraints = new GridBagConstraints();
	JPanel pnl_main = new JPanel( new BorderLayout() );
	JPanel pnl_center = new JPanel(gridbag);
	JPanel pnl_west = new JPanel(new FlowLayout(FlowLayout.CENTER));
	JPanel pnl_east = new JPanel(new FlowLayout(FlowLayout.CENTER));
	JLabel lbl_title = new JLabel(XProjectConstants.PRODUCT_NAME+" "+XProjectConstants.PRODUCT_VERSION, SwingConstants.CENTER);
	JLabel lbl_description = buildLabel(this, "Description", SwingConstants.CENTER);
	Font fnt = lbl_title.getFont();

		lbl_title.setFont( fnt.deriveFont(Font.BOLD,fnt.getSize()+6) );
		lbl_description.setFont( fnt.deriveFont(Font.BOLD,fnt.getSize()+3) );

        constraints.fill = GridBagConstraints.HORIZONTAL;
        constraints.insets = new Insets(2,2,2,2);

		addToContainer(lbl_title,pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(" ", SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(lbl_description,pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(buildImageIcon(this, "image.Logo")),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);

		addToContainer(new JLabel(XRepository.getResourceManager().getProperty(this, "Author", XProjectConstants.PRODUCT_AUTHOR), SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(" ", SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(XRepository.getResourceManager().getProperty(this, "Copyright", XProjectConstants.PRODUCT_AUTHOR), SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(XRepository.getResourceManager().getProperty(this, "IconCopyright", "1998 Dean S. Jones"), SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(buildLabel(this, "AllRightsReserved", SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);

		pnl_west.add(new XAnimator(100,"Duke",10));
		pnl_east.add(new XAnimator(100,"Duke",10));

		pnl_main.add(pnl_center,BorderLayout.CENTER);
		pnl_main.add(pnl_west,BorderLayout.WEST);
		pnl_main.add(pnl_east,BorderLayout.EAST);

		return pnl_main;
	}

    private JPanel getSecondPage()
    {
    GridBagLayout gridbag = new GridBagLayout();
    GridBagConstraints constraints = new GridBagConstraints();
	JPanel pnl_main = new JPanel( new BorderLayout() );
	JPanel pnl_center = new JPanel(gridbag);
	JPanel pnl_addresses = new JPanel( new GridLayout(3,1,0,5) );

        pnl_addresses.add(buildLabel(this, "AuthorEmails"));
        pnl_addresses.add(new JLabel(" -    "+XProjectConstants.AUTHOR_PRIMARY_EMAIL));
        pnl_addresses.add(new JLabel(" -    "+XProjectConstants.AUTHOR_SECONDARY_EMAIL));

        constraints.fill = GridBagConstraints.HORIZONTAL;
        constraints.insets = new Insets(2,2,2,2);

        constraints.gridheight = 3;
		addToContainer(pnl_addresses,pnl_center,gridbag,constraints,GridBagConstraints.RELATIVE,1);
		addToContainer(new JLabel(buildImageIcon(this, "image.Contact2")),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
        constraints.gridheight = 1;
		addToContainer(new JLabel(" ", SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(buildLabel(this, "AuthorHomePage"),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(XProjectConstants.AUTHOR_HOME_PAGE),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(" ", SwingConstants.CENTER),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(XRepository.getResourceManager().getProperty(this, "ProductWebPage", XProjectConstants.PRODUCT_NAME)),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(XProjectConstants.PRODUCT_HOME_PAGE),pnl_center,gridbag,constraints,GridBagConstraints.REMAINDER,0);

		pnl_main.add(pnl_center,BorderLayout.CENTER);

		return pnl_main;
	}

    private JPanel getThirdPage()
    {
    GridBagLayout gridbag = new GridBagLayout();
    GridBagConstraints constraints = new GridBagConstraints();
	JPanel pnl_main = new JPanel(gridbag);
	String people_list = "";
	String[][] people = { {"Bernd Schilling", "Brian Harrington", "Cristiano Bellofiore"},
						  {"Daniel Lemire", "David Bernard", "Dean S. Jones"},
						  {"Dmitry Beransky", "Erik Br鋘nstr鰉", "Fotis Stefanidis"},
						  {"Gilberto Corr阛 de Souza", "Jean-Baptiste Bugeaud", "Marcos Kirsch"},
						  {"Matthew Robinson", "Paul Hammant", "Rafael Oropeza"},
						  {"S閎astien Stormacq", "Uladzimir V. Kavalchuk", "Venko Stanev"},
						  {"Vincent Estrada", "Vipul K. Mehra"}
					    };

        constraints.fill = GridBagConstraints.BOTH;
        constraints.insets = new Insets(5,5,5,5);
        constraints.gridheight = 1;
        constraints.weighty = 1;

		addToContainer(buildLabel(this, "SpecialThanks"),pnl_main,gridbag,constraints,GridBagConstraints.REMAINDER,0);
		addToContainer(new JLabel(""),pnl_main,gridbag,constraints,GridBagConstraints.REMAINDER,0);

		for( int i=0; i<people.length; i++ )
		{
			people_list = "";
			for( int j=0; j<people[i].length; j++ )
			{
				if( people_list.equals("") )
					people_list += people[i][j];
				else
					people_list += ", "+people[i][j];
			}

			if( i<people.length-1 )
				people_list += ",";

			addToContainer(new JLabel(people_list,SwingConstants.CENTER),pnl_main,gridbag,constraints,GridBagConstraints.REMAINDER,1);
		}

		addToContainer(new JLabel(""),pnl_main,gridbag,constraints,GridBagConstraints.REMAINDER,0);

        constraints.insets = new Insets(0,0,0,0);
		addToContainer(buildLabel(this, "Thanks1", SwingConstants.CENTER),pnl_main,gridbag,constraints,GridBagConstraints.REMAINDER,1);
		addToContainer(buildLabel(this, "Thanks2", SwingConstants.CENTER),pnl_main,gridbag,constraints,GridBagConstraints.REMAINDER,1);
		addToContainer(buildLabel(this, "Thanks3", SwingConstants.CENTER),pnl_main,gridbag,constraints,GridBagConstraints.REMAINDER,1);

		return pnl_main;
	}

    private class OKAction extends XDefaultAction
    {
        public OKAction()
        {
            super(XAboutLayout.this, "Ok", null);
        }

        public void actionPerformed(ActionEvent e)
        {
		    setVisible(false);
		    dispose();
        }
    }
}

⌨️ 快捷键说明

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