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

📄 xpluginpropertieslayout.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.net.*;
import java.util.*;
import java.text.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

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

public class XPluginPropertiesLayout extends XFrame
{
	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);
	}

	public XPluginPropertiesLayout()
	{
		setTitle( XRepository.getResourceManager().getProperty(this, "Title") );

    GridBagLayout gridbag = new GridBagLayout();
    GridBagConstraints constraints = new GridBagConstraints();

        constraints.fill = GridBagConstraints.HORIZONTAL;
        constraints.insets = new Insets(5,5,5,5);
		getContentPane().setLayout(gridbag);

	Iterator it = XPluginObject.getPluginDocks();

		while( it.hasNext() )
			cmbDock.addItem(it.next());

		addToContainer(buildLabel(this, "Name"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfName,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "Version"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfVersion,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "ReleaseDate"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfReleaseDate,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "DocumentationFile"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfDocumentationFile,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "Status"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfStatus,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "Dock"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(cmbDock,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(chkAutoStart,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "Resource"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfResource,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "AuthorName"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfAuthorName,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "AuthorEMail"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfAuthorEMail,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "AuthorHomePage"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(txfAuthorHomePage,getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(buildLabel(this, "Description"),getContentPane(),gridbag,constraints,1,0);
		addToContainer(new JScrollPane(txaDescription),getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,1);

		addToContainer(getButtonsPanel(),getContentPane(),gridbag,constraints,GridBagConstraints.REMAINDER,0);

		txfName.setEditable(false);
		txfVersion.setEditable(false);
		txfReleaseDate.setEditable(false);
		txfDocumentationFile.setEditable(false);
		txfStatus.setEditable(false);
		txfResource.setEditable(false);
		txfAuthorName.setEditable(false);
		txfAuthorEMail.setEditable(false);
		txfAuthorHomePage.setEditable(false);
		txaDescription.setEditable(false);

        setIconImage( buildImageIcon(this, "image.FrameIcon").getImage() );
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        pack();
        //setResizable(false);
	}

    public void setPlugin(XPluginObject plugin)
    {
		this.plugin = plugin;

		txfName.setText( plugin.getName() );
		txfVersion.setText( plugin.getVersion() );
		txfReleaseDate.setText( plugin.getReleaseDate() );
		txfDocumentationFile.setText( plugin.getDocumentationFile() );
		txfStatus.setText( plugin.getStatusString() );
		cmbDock.setSelectedItem( plugin.getDockString() );
		chkAutoStart.setSelected( plugin.isAutoStart() );
		txfResource.setText( plugin.getResource() );
		txfAuthorName.setText( plugin.getAuthorName() );
		txfAuthorEMail.setText( plugin.getAuthorEMail() );
		txfAuthorHomePage.setText( plugin.getAuthorHomePage() );
		txaDescription.setText( plugin.getDescription() );

		displayDocAction.setEnabled( plugin.getDocumentationURL()!=null );
	}

    private JPanel getButtonsPanel()
    {
	JPanel pnl_buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
	JButton btn_close = buildButton(new CloseAction());

        displayDocAction = new DisplayPluginDocumentationAction();
        pnl_buttons.add(buildButton(displayDocAction));
        pnl_buttons.add(btn_close);
        getRootPane().setDefaultButton(btn_close);

        return pnl_buttons;
	}

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

        public void actionPerformed(ActionEvent e)
        {
		    plugin.setAutoStart( chkAutoStart.isSelected() );
		    plugin.setDockString( (String)cmbDock.getSelectedItem() );

		    setVisible(false);
        }
    }

    private class DisplayPluginDocumentationAction extends XDefaultAction
    {
        public DisplayPluginDocumentationAction()
        {
            super(XPluginPropertiesLayout.this, "DisplayPluginDoc", null);
        }

        public void actionPerformed(ActionEvent e)
        {
		URL doc_url = plugin.getDocumentationURL();

			if( doc_url!=null )
				XBrowser.getBrowser().showInNewDocument( doc_url.toString() );
        }
    }

// Attributes:
	private XPluginObject plugin = null;
	private XAction displayDocAction;

	private JTextField txfName = new JTextField(30);
	private JTextField txfVersion = new JTextField(30);
	private JTextField txfReleaseDate = new JTextField(30);
	private JTextField txfDocumentationFile = new JTextField(30);
	private JTextField txfStatus = new JTextField(30);
	private JTextField txfResource = new JTextField(30);
	private JTextField txfAuthorName = new JTextField(30);
	private JTextField txfAuthorEMail = new JTextField(30);
	private JTextField txfAuthorHomePage = new JTextField(30);
	private JTextArea txaDescription = new JTextArea(7,30);

	private JCheckBox chkAutoStart = new JCheckBox(XRepository.getResourceManager().getProperty(this, "AutoStart"));
	private JComboBox cmbDock = new JComboBox();
}

⌨️ 快捷键说明

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