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