package awtDemo;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/*
* @功能:使用JDialog构造登陆对话框,并获取登陆用户信息
* @版本:20150804
* @结构:LoginDemoStart[主类,提供初始UI],PasswordChooser[提供登陆UI并获取用户信息],User[保存用户信息]
*/
@SuppressWarnings("serial")
class LoginDemoStart extends JFrame{
/*
* @功能:提供初始UI,并调用PasswordChooser登陆界面
* @版本:20150804
*/
private JTextArea textArea;
private PasswordChooser passwordChooser ;
public LoginDemoStart(){
//构造菜单栏
JMenuBar mbar = new JMenuBar();
setJMenuBar(mbar);
JMenu fileMenu = new JMenu("File");
JMenuItem connectItem = new JMenuItem("connect");
connectItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//if 1st time,construct a dialog
passwordChooser = new PasswordChooser(LoginDemoStart.this);
passwordChooser.setVisible(true);
if(passwordChooser.isLogedIn())
{
User u = passwordChooser.getUser();
textArea.append("Username = " + u.getName() + ", Password = " + new String(u.getPassword()) + "\n");
}
}
});
JMenuItem exitItem = new JMenuItem("exit");
exitItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
mbar.add(fileMenu);
fileMenu.add(connectItem);
fileMenu.add(exitItem);
//添加文本区域
textArea = new JTextArea();
add(new JScrollPane(textArea), BorderLayout.CENTER);
//设置窗体属性
setTitle("LoginDemoStart - www.1sucai.cn");
setSize(300,200);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
LoginDemoStart loginDemoStart = new LoginDemoStart();
loginDemoStart.setVisible(true);
}
}
package awtDemo;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*
* @功能:提供登陆UI并获取用户信息
* @版本:20150804
*/
@SuppressWarnings("serial")
class PasswordChooser extends JDialog{
private JTextField username ;
private JPasswordField password ;
private JButton okButton ;
private JButton cancelButton ;
private boolean isLogedIn = false;
public PasswordChooser(Frame parent){
super(parent, true);
//本UI包含2个panel
JPanel inputPanel = new JPanel();
JPanel buttonPanel = new JPanel();
//构造inputPanel
inputPanel.setLayout(new GridLayout(2,2));
inputPanel.add(new JLabel("Useername:"));
username = new JTextField();
username.setColumns(10);
password = new JPasswordField();
password.setColumns(10);
inputPanel.add(username);
inputPanel.add(new JLabel("Password:"));
inputPanel.add(password);
inputPanel.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 5));
//构造buttonPanel
okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
isLogedIn = true;
setVisible(false);
}
});
cancelButton = new JButton("Cancel");
cancelButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
setVisible(false);
}
});
buttonPanel.add(okButton);
buttonPanel.add(cancelButton);
buttonPanel.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 5));
//构造主框架
setLayout(new BorderLayout());
getContentPane().add(inputPanel, BorderLayout.NORTH);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
//设置窗体属性
setTitle("PasswordChooser - www.1sucai.cn");
setLocationRelativeTo(inputPanel);
//setPreferredSize(new Dimension(300, 200));
pack();
//System.out.println(getPreferredSize());
}
public void setUser(User u){
username.setText(u.getName());
}
public User getUser(){
return new User(username.getText(), password.getPassword());
}
public boolean isLogedIn(){
return isLogedIn;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
package awtDemo;
/*
* @功能:保存用户信息
* @版本:20150804
*/
class User{
private String name;
private char[] password;
public User(String aName, char[] aPassword){
name = aName;
password = aPassword;
}
public String getName(){
return name;
}
public char[] getPassword(){
return password;
}
public void setName(String aName){
name = aName;
}
public void setPassword(char[] aPassword){
password = aPassword;
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有