serverbrowser.java

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

JAVA
170
字号
// ServerBrowser.java// $Id: ServerBrowser.java,v 1.29 2000/08/16 21:37:31 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1998.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.jigadmin.gui; import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JMenu;import javax.swing.JPanel;import javax.swing.JDialog;import javax.swing.BorderFactory;import javax.swing.JOptionPane;import javax.swing.UIManager;import java.awt.BorderLayout;import java.awt.Font;import java.awt.Cursor;import java.awt.Dimension;import java.awt.Container;import java.awt.GridLayout;import java.awt.CardLayout;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.util.Properties;import java.net.URL;import java.net.MalformedURLException;import org.w3c.jigsaw.admin.AdminContext;import org.w3c.jigsaw.admin.RemoteAccessException;import org.w3c.jigsaw.admin.RemoteResource;import org.w3c.jigadmin.PropertyManager;import org.w3c.jigadmin.RemoteResourceWrapper;import org.w3c.jigadmin.gui.Message;import org.w3c.jigadmin.gui.slist.ServerList;import org.w3c.jigadmin.gui.slist.ServerListModel;import org.w3c.jigadmin.gui.slist.ServerListListener;import org.w3c.jigadmin.editors.ServerEditorInterface;import org.w3c.jigadmin.editors.ServerEditorFactory;import org.w3c.jigadmin.editors.FramedResourceHelper;import org.w3c.jigadmin.widgets.DnDJPanel;import org.w3c.jigadmin.widgets.Icons;class WindowCloser extends WindowAdapter {    protected static int windows = 0;    public synchronized static void close(JFrame frame) {	windows--;	frame.setVisible(false);	frame.dispose();	if (windows < 0)	    System.exit(0);    }    public void windowClosing(WindowEvent e) {	close((JFrame)e.getWindow());    }}class ServerMenu extends JMenuBar implements ActionListener {    ServerBrowser browser = null;    protected String getAdminURL() {	String url = JOptionPane.showInputDialog(this, 						 "Admin server URL",						 "Open",						 JOptionPane.PLAIN_MESSAGE);	if ((url != null) && (! url.startsWith("http://")))	    url = "http://"+url;	return url;    }    public void actionPerformed(ActionEvent evt) {	String command = evt.getActionCommand();	if (command.equals("open")) {	    String adminurl = getAdminURL();	    if (adminurl == null)		return;	    try {		URL url = new URL(adminurl);		browser.open(url);	    } catch (MalformedURLException ex) {		JOptionPane.showMessageDialog(this, 					      adminurl+" is not a valid URL",					      "Invalid URL",					      JOptionPane.ERROR_MESSAGE);	    }	} else if(command.equals("new")) {	    String adminurl = getAdminURL();	    if (adminurl == null)		return;	    URL url = null;	    try {		url = new URL(adminurl);	    } catch (MalformedURLException ex) {		JOptionPane.showMessageDialog(this, 					      adminurl+" is not a valid URL",					      "Invalid URL",					      JOptionPane.ERROR_MESSAGE);	    }	    JFrame        frame = new JFrame("Server Browser: " + adminurl);	    ServerBrowser sb    = new ServerBrowser(frame);	    frame.getContentPane().add(sb, BorderLayout.CENTER);	    frame.setVisible(true);	    sb.open(url);	    WindowCloser.windows++;	} else if(command.equals("close")) {	    JFrame cont = browser.frame;	    cont.setVisible(false);	    cont.dispose();	    WindowCloser.windows--;	    if (WindowCloser.windows < 0)		System.exit(0);	} else if(command.equals("quit")) {	    JFrame cont = browser.frame;	    cont.setVisible(false);	    cont.dispose();	    WindowCloser.windows = 0;	    System.exit(0);	} else if (command.equals("about")) {	    AboutJigAdmin.show(this);	}    }    ServerMenu(ServerBrowser browser) {	super();	this.browser = browser;	JMenu server = new JMenu("JigAdmin");	add(server);	JMenuItem about = new JMenuItem("About JigAdmin");	about.setActionCommand("about");	about.addActionListener(this);	server.add( about );	server.addSeparator();	JMenuItem open = new JMenuItem("Open");	open.setActionCommand("open");	open.addActionListener(this);	server.add( open );	JMenuItem newOpen = new JMenuItem("Open in new window");	newOpen.setActionCommand("new");	newOpen.addActionListener(this);	server.add( newOpen );	server.addSeparator();	JMenuItem close = new JMenuItem("Close window");	close.setActionCommand("close");	close.addActionListener(this);	server.add( close );	JMenuItem quit = new JMenuItem("Exit");	quit.setActionCommand("quit");	quit.addActionListener(this);	server.add( quit );    }}/** * The ServerBrowser. * @version $Revision: 1.29 $ * @author  Beno顃 Mah

⌨️ 快捷键说明

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