创建一个窗口,有三个组件:
1.有一个列表,其选项是你所在电脑上的两个java源文件的名字。
当选择一个选项后,会在文本框显示所选java文件的全部内容。
2.有一个文本框和一个密码框:
当在密码框输入密码时,密码框显示回显字符,回车后,在文本框显示密码。
当在文本框输入信息后,将窗口的名字改为文本框输入的信息。
3.窗口的布局任选。
package java3.T9;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class LoginUI extends JFrame implements ActionListener,MouseListener{
JLabel bgImg,lblAccount,lblPassword,lblReg,lblForgetPwd;
JTextField txtAccount;
JPasswordField txtPassword;
JButton btnLogin,btnExit;
public LoginUI() {
setTitle("QQ登录");
ImageIcon icon = new ImageIcon("upload/touxiang.png");
//设置图标
setIconImage(icon.getImage());
//设置背景图片
Icon bgIcon = new ImageIcon("upload/login.jpg");
bgImg = new JLabel(bgIcon);
//窗口的默认布局是边框布局
//把bgImg设置的窗口
add(bgImg);
lblAccount = new JLabel("账号:",JLabel.RIGHT);
lblPassword = new JLabel("密码:",JLabel.RIGHT);
txtAccount = new JTextField(20);
txtPassword = new JPasswordField(20);
lblAccount.setBounds(78, 173, 50, 30);
txtAccount.setBounds(128, 173, 194, 30);
lblPassword.setBounds(78, 203, 50, 30);
txtPassword.setBounds(128, 203, 194, 30);
//设置密码框显示的字符
txtPassword.setEchoChar('*');
lblReg = new JLabel("注册账号");
lblForgetPwd = new JLabel("找回密码");
lblReg.setBounds(330, 170, 80, 30);
lblForgetPwd.setBounds(330, 200, 80, 30);
btnLogin = new JButton("登录(L)");
//设置热键
btnLogin.setMnemonic('L');
btnExit = new JButton("关闭(C)");
btnExit.setMnemonic('C');
btnLogin.setBounds(128, 250, 80, 30);
btnExit.setBounds(228, 250, 80, 30);
//添加到bgImg里面
bgImg.add(lblAccount);
bgImg.add(txtAccount);
bgImg.add(lblPassword);
bgImg.add(txtPassword);
bgImg.add(lblReg);
bgImg.add(lblForgetPwd);
bgImg.add(btnLogin);
bgImg.add(btnExit);
//为按钮添加事件
btnLogin.addActionListener(this);
btnExit.addActionListener(this);
//添加鼠标事件
lblReg.addMouseListener(this);
lblForgetPwd.addMouseListener(this);
//不允许改变窗口的大小
setResizable(false);
setSize(427,321);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
@Override
public void mouseClicked(MouseEvent e) {
if(e.getSource() == lblReg) {
//弹出注册窗口
// new RegUI();
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btnLogin) {
JOptionPane.showMessageDialog(null, "登录成功");
}else if(e.getSource() == btnExit) {
System.exit(0);
}
}
public static void main(String[] args) {
new LoginUI();
}
}