controlhelper.java

来自「很棒的web服务器源代码」· Java 代码 · 共 241 行

JAVA
241
字号
// ControlHelper.java// $Id: ControlHelper.java,v 1.21 2000/08/16 21:37:26 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1997.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.jigadm.editors ;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.Container;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Image;import java.awt.Insets;import java.awt.Label;import java.awt.Panel;import java.awt.ScrollPane;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ComponentEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.EventObject;import java.util.Properties;import org.w3c.jigadm.PropertyManager;import org.w3c.jigadm.RemoteResourceWrapper;import org.w3c.jigsaw.admin.RemoteAccessException;import org.w3c.jigsaw.admin.RemoteResource;import org.w3c.tools.resources.Attribute;import org.w3c.tools.widgets.BorderPanel;import org.w3c.tools.widgets.ImageButton;public class ControlHelper extends ResourceHelper {    class ControlListener implements ActionListener {        public void actionPerformed(ActionEvent ae) {	    if(ae.getSource() instanceof ImageButton) {		executeAction(ae.getActionCommand());	    }	}    }    class MouseButtonListener extends MouseAdapter {		public void mouseEntered(MouseEvent e) {	    Component comp = e.getComponent();	    if (comp instanceof ImageButton) {		String action = ((ImageButton)comp).getActionCommand();		if (action.equals(CHECKPOINT_L)) {		    setMessage("Start the Checkpoint resource.");		} else if (action.equals(SAVE_L)) {		    setMessage("Save the current configuration.");		} else if (action.equals(STOP_L)) {		    setMessage("Stop the server.");		} else if (action.equals(RESTART_L)) {		    setMessage("Restart the server "+			       "(doesn't work yet).");		}	    }	}	public void mouseExited(MouseEvent e) {	    setMessage("");	}    }    protected static final String CHECKPOINT_L = "Checkpoint";    protected static final String SAVE_L       = "Save";    protected static final String STOP_L       = "Stop";    protected static final String RESTART_L    = "Restart";    private   RemoteResourceWrapper rrw          = null;    private   boolean               initialized  = false;    protected Panel                 widget       = null;    protected Label                 controlLabel = null;    public void commitChanges() {    }    public boolean hasChanged() {	return false;    }    public void resetChanges() {    }    public void clearChanged() {    }    public Component getComponent() {	return widget;    }    public final String getTitle() {	return "Control";    }    public void setMessage(String msg) {	controlLabel.setText(msg);    }    public ControlHelper() {	widget = new BorderPanel(BorderPanel.LOWERED,2);	widget.setLayout(new BorderLayout());    }    protected void executeAction(String action) {	try {	    setMessage(action+" ...");	    rrw.getResource().loadResource(action);	    setMessage(action+" done.");	} catch (Exception ex) {	    ex.printStackTrace();	    errorPopup("Error",ex);	}    }    protected Image getIcon(PropertyManager pm, String name) {	return Toolkit.getDefaultToolkit().getImage(pm.getIconLocation(name));    }    public void initControlPanel() {	Image checkpoint_im, save_im, stop_im, restart_im;	ImageButton ib;	Panel tfp;	Label l;	MouseButtonListener mbl = new MouseButtonListener();	ControlListener cl = new ControlListener();	Panel ControlPanel = new Panel(new BorderLayout());	PropertyManager pm = PropertyManager.getPropertyManager();	ScrollPane fsp = new ScrollPane();	GridBagLayout gbl = new GridBagLayout();	GridBagConstraints gbc = new GridBagConstraints();	Panel fspp = new Panel(gbl);	gbc.insets = new Insets(5,0,0,0);	fsp.add(fspp);	gbc.fill = GridBagConstraints.HORIZONTAL;	gbc.weightx = 0;	gbc.weighty = 0;	checkpoint_im = getIcon(pm, "checkpoint");	save_im       = getIcon(pm, "save");	stop_im       = getIcon(pm, "stop");	restart_im    = getIcon(pm, "restart");	// Checkpoint	ib = new ImageButton(checkpoint_im, CHECKPOINT_L);	ib.addActionListener(cl);	ib.addMouseListener(mbl);	gbc.gridwidth = 1;	gbl.setConstraints(ib, gbc);	fspp.add(ib);    	l = new Label(CHECKPOINT_L);	gbc.gridwidth = GridBagConstraints.REMAINDER;	gbl.setConstraints(l, gbc);	fspp.add(l);	//Save	ib = new ImageButton(save_im, SAVE_L);	ib.addActionListener(cl);	ib.addMouseListener(mbl);	gbc.gridwidth = 1;	gbl.setConstraints(ib, gbc);	fspp.add(ib);			l = new Label(SAVE_L);	gbc.gridwidth = GridBagConstraints.REMAINDER;	gbl.setConstraints(l, gbc);	fspp.add(l);	//Stop	ib = new ImageButton(stop_im, STOP_L);	ib.addActionListener(cl);	ib.addMouseListener(mbl);	gbc.gridwidth = 1;	gbl.setConstraints(ib, gbc);	fspp.add(ib);			l = new Label(STOP_L);	gbc.gridwidth = GridBagConstraints.REMAINDER;	gbl.setConstraints(l, gbc);	fspp.add(l);	//Restart	ib = new ImageButton(restart_im, RESTART_L);	ib.addActionListener(cl);	ib.addMouseListener(mbl);	gbc.gridwidth = 1;	gbl.setConstraints(ib, gbc);	fspp.add(ib);			l = new Label(RESTART_L);	gbc.gridwidth = GridBagConstraints.REMAINDER;	gbl.setConstraints(l, gbc);	fspp.add(l);	    	ControlPanel.add("Center", fspp);	widget.add("Center", ControlPanel);	controlLabel = new Label("", Label.CENTER);	controlLabel.setBackground(Color.gray);	controlLabel.setForeground(Color.white);	BorderPanel bpcl = new BorderPanel(BorderPanel.IN,2);	bpcl.setLayout(new BorderLayout());	bpcl.add(controlLabel, "Center");	widget.add("South", bpcl);	widget.validate();	widget.setVisible(true);    }	    /**     * initialize the editor     * @exception RemoteAccessException if a remote access error occurs.     */    public void initialize(RemoteResourceWrapper rrw, Properties pr)	throws RemoteAccessException    {	this.rrw = rrw;	if(!initialized)	    initialized = true;	else	    return;	initControlPanel();    }}

⌨️ 快捷键说明

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