📄 codedialog.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class CodeDialog extends JDialog implements ActionListener
{
private JLabel label1,label2,label3;
private JPasswordField field1,field2,field3;
private JButton ok,cancel;
private ImagePanel icon;
private boolean firstTime,result;
public CodeDialog(EnterQQ a,int x,int y)
{
super(a,"设定程序密码",true);
setBounds(x+10,y+10,235,175);
init(true);
}
public CodeDialog(JDialog d,boolean firstTime)
{
super(d,"设定程序密码",true);
Point loc=d.getLocation();
setBounds((int)loc.getX()+10,(int)loc.getY()+10,235,175);
init(firstTime);
}
public void init(boolean firstTime)
{
icon=new ImagePanel(EnterQQ.CODE);
this.firstTime=firstTime;
result=false;
label1=new JLabel("旧的密码",JLabel.RIGHT);
label2=new JLabel("新的密码",JLabel.RIGHT);
label3=new JLabel("确认密码",JLabel.RIGHT);
field1=new JPasswordField();
field1.setEnabled(!firstTime);
field2=new JPasswordField();
field3=new JPasswordField();
ok=new JButton("确定");
ok.addActionListener(this);
cancel=new JButton("取消");
cancel.addActionListener(this);
field3.addActionListener(this);
JPanel panel=new JPanel();
panel.setLayout(new GridLayout(3,2,10,8));
panel.add(label1);
panel.add(field1);
panel.add(label2);
panel.add(field2);
panel.add(label3);
panel.add(field3);
setLayout(null);
icon.setBounds(10,10,48,48);
panel.setBounds(15,10,180,80);
ok.setBounds(51,110,60,20);
cancel.setBounds(135,110,60,20);
add(icon);
add(panel);
add(ok);
add(cancel);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setResizable(false);
}
public String getOldCode()
{
return field1.getText();
}
public String getNewCode()
{
return field3.getText();
}
public boolean getState()
{
return result;
}
public void actionPerformed(ActionEvent e)
{
Object o=e.getSource();
if(o==ok)
{
if(firstTime)
{
result=checkNewCode();
}
else
{
result=checkOldCode()&&checkNewCode();
}
if(result)
{
EnterQQ.password=field3.getText();
dispose();
}
}
else if(o==cancel)
{
result=false;
dispose();
}
else if(o==field3)
{
if(firstTime)
{
result=checkNewCode();
}
else
{
result=checkOldCode()&&checkNewCode();
}
if(result)
{
EnterQQ.password=field3.getText();
dispose();
}
}
}
public boolean checkNewCode()
{
if(field2.getText().equals("")||field3.getText().equals(""))
{
EnterQQ.KIT.beep();
JOptionPane.showMessageDialog(this,"密码不能为空,请重新输入!","警告信息",JOptionPane.ERROR_MESSAGE,EnterQQ.WARNING);
return false;
}
if(!field2.getText().equals(field3.getText()))
{
EnterQQ.KIT.beep();
JOptionPane.showMessageDialog(this,"两次输入的密码不一致,请检查!","警告信息",JOptionPane.ERROR_MESSAGE,EnterQQ.WARNING);
field3.setText("");
return false;
}
return true;
}
public boolean checkOldCode()
{
if(!field1.getText().equals(EnterQQ.password))//
{
EnterQQ.KIT.beep();
JOptionPane.showMessageDialog(this,"旧密码与原密码不一致,请检查!","警告信息",JOptionPane.ERROR_MESSAGE,EnterQQ.WARNING);
field1.setText("");
return false;
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -