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

📄 simpleauthenticator.java

📁 实例大全
💻 JAVA
字号:
/* * @(#)SimpleAuthenticator.java	1.5 99/12/09 * * Copyright 1997-1999 Sun Microsystems, Inc. All Rights Reserved. *  * This software is the proprietary information of Sun Microsystems, Inc.   * Use is subject to license terms. *  *//* * @(#)SimpleAuthenticator.java	1.5 99/12/09 * * Copyright (c) 1996-1998 by Sun Microsystems, Inc. * All Rights Reserved. */import javax.mail.*;import java.net.InetAddress;import java.awt.*;import javax.swing.*;/** * Simple Authenticator for requesting password information. * * @version	1.5, 99/12/09 * @author	Christopher Cotton * @author	Bill Shannon */public class SimpleAuthenticator extends Authenticator {    Frame frame;    String username;    String password;    public SimpleAuthenticator(Frame f) {	this.frame = f;    }    protected PasswordAuthentication getPasswordAuthentication() {	// given a prompt?	String prompt = getRequestingPrompt();	if (prompt == null)	    prompt = "Please login...";	// protocol	String protocol = getRequestingProtocol();	if (protocol == null)	    protocol = "Unknown protocol";	// get the host	String host = null;	InetAddress inet = getRequestingSite();	if (inet != null)	    host = inet.getHostName();	if (host == null)	    host = "Unknown host";	// port	String port = "";	int portnum = getRequestingPort();	if (portnum != -1)	    port = ", port " + portnum + " ";	// Build the info string	String info = "Connecting to " + protocol + " mail service on host " +								host + port;	//JPanel d = new JPanel();	// XXX - for some reason using a JPanel here causes JOptionPane	// to display incorrectly, so we workaround the problem using	// an anonymous JComponent.	JComponent d = new JComponent() { };	GridBagLayout gb = new GridBagLayout();	GridBagConstraints c = new GridBagConstraints();	d.setLayout(gb);	c.insets = new Insets(2, 2, 2, 2);	c.anchor = GridBagConstraints.WEST;	c.gridwidth = GridBagConstraints.REMAINDER;	c.weightx = 0.0;	d.add(constrain(new JLabel(info), gb, c));	d.add(constrain(new JLabel(prompt), gb, c));	c.gridwidth = 1;	c.anchor = GridBagConstraints.EAST;	c.fill = GridBagConstraints.NONE;	c.weightx = 0.0;	d.add(constrain(new JLabel("Username:"), gb, c));	c.anchor = GridBagConstraints.EAST;	c.fill = GridBagConstraints.HORIZONTAL;	c.gridwidth = GridBagConstraints.REMAINDER;	c.weightx = 1.0;	String user = getDefaultUserName();	JTextField username = new JTextField(user, 20);	d.add(constrain(username, gb, c));	c.gridwidth = 1;	c.fill = GridBagConstraints.NONE;	c.anchor = GridBagConstraints.EAST;	c.weightx = 0.0;	d.add(constrain(new JLabel("Password:"), gb, c));	c.anchor = GridBagConstraints.EAST;	c.fill = GridBagConstraints.HORIZONTAL;	c.gridwidth = GridBagConstraints.REMAINDER;	c.weightx = 1.0;	JPasswordField password = new JPasswordField("", 20);	d.add(constrain(password, gb, c));	// XXX - following doesn't work	if (user != null && user.length() > 0)	    password.requestFocus();	else	    username.requestFocus();		int result = JOptionPane.showConfirmDialog(frame, d, "Login",	    JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);		if (result == JOptionPane.OK_OPTION)	    return new PasswordAuthentication(username.getText(),						password.getText());	else	    return null;    }    private Component constrain(Component cmp,        			GridBagLayout gb, GridBagConstraints c) {	gb.setConstraints(cmp, c);	return (cmp);    }}

⌨️ 快捷键说明

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