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

📄 passwordinputeditor.java

📁 java图形化界面编程 功能和记事本通讯录相似 记录通讯人的姓名和联系方法等信息并提供查询
💻 JAVA
字号:
package elegate.cn.edu.nju;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 * a simple password input dialog
 * @author Elegate,elegate@gmail.com
 * @author cs department of NJU
 */
public class PasswordInputEditor extends JDialog
{
	public static void main(String[] args)
	{
		JOptionPane.showInputDialog(null,"Input whatever you like here asldfja;lskjdasl;kdfjaslkjdfalk;sjdf","Test",JOptionPane.PLAIN_MESSAGE);
		
	}
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private JPasswordField pswField;
	private JButton btnOk;
	private JButton btnCancel;
	private char[] password;
	
	public PasswordInputEditor(String title,String msg)
	{
		setTitle(title);
		setModal(true);
		JLabel lblInput=new JLabel(msg);
		lblInput.setHorizontalTextPosition(SwingConstants.LEFT);
		pswField=new JPasswordField(25);
		pswField.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent e) 
			{
				btnOk.doClick();
			}
		});
		btnOk=new JButton("Ok");
		btnOk.setMnemonic('O');
		btnOk.setToolTipText("Click to submit");
		btnOk.addActionListener(new BtnOkL());
		
		btnCancel=new JButton("Cancel");
		btnCancel.setMnemonic('C');
		btnCancel.setToolTipText("Click to cancel");
		btnCancel.addActionListener(new BtnCancelL());
		
		GridBagLayout gbLayout=new GridBagLayout();
		GridBagConstraints gbCon=new GridBagConstraints();
		JPanel panel=new JPanel();
		panel.setLayout(gbLayout);
		gbCon.fill=GridBagConstraints.HORIZONTAL;
		this.addComponent(lblInput,0,0,2,1,gbCon,panel);
		this.addComponent(pswField,0,1,1,1,gbCon,panel);
		JPanel btnPanel=new JPanel();
		btnPanel.add(btnOk);
		btnPanel.add(btnCancel);
		this.addComponent(btnPanel,0,2,2,1,gbCon,panel);
		this.getContentPane().setLayout(new FlowLayout());
		this.getContentPane().add(panel);
		this.pack();
		Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
		this.setLocation((d.width-this.getWidth())/2
				,(d.height-this.getHeight())/2);
		this.getRootPane().setDefaultButton(btnOk);
	}
	
	private void addComponent(Component c,int gridx,int gridy
			,int gridwidth,int gridheight,GridBagConstraints gbCon,JPanel panel)
	{
	    gbCon.gridx=gridx;
	    gbCon.gridy=gridy;
	    gbCon.gridheight=gridheight;
	    gbCon.gridwidth=gridwidth;
	    panel.add(c,gbCon);
	}
	
	public char[] getPassword()
	{
		char[] tmp=this.password;
		this.password=null;
		return tmp;
	}
	
	class BtnOkL implements ActionListener
	{

		public void actionPerformed(ActionEvent e) 
		{
			password=pswField.getPassword();
			setVisible(false);
		}
		
	}
	class BtnCancelL implements ActionListener
	{

		public void actionPerformed(ActionEvent e)
		{
			password=null;
			setVisible(false);
		}
		
	}
}

⌨️ 快捷键说明

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