窗口设计到是好了,就是不知道怎样让两者之间的数据如何实现访问,谢谢!
1.在登录窗口中,如何实现用户名和密码访问已经注册好的用户名和密码。以便登录成功!
2.在注册窗口中,防止用户的重复注册如何实现?如何保存注册成功的信息?
3.如何打开另外一个窗口的同时,关闭当前的窗口?
1.在登录窗口中,如何实现用户名和密码访问已经注册好的用户名和密码。以便登录成功!
2.在注册窗口中,防止用户的重复注册如何实现?如何保存注册成功的信息?
3.如何打开另外一个窗口的同时,关闭当前的窗口?
如:
user#pwd
123#123
然后将这些数据读到一个HashMap<>中。使用String的SPILT()方法可以分割字符窜。这样就可以用hashmap的get方法查找用户密码了。
如果还部明白下载我的那个聊天程序吧!里面有
用IO读取,比较,就可以了。当你登陆时,点击【登陆】按钮,写个方法,在方法里用IO读取username和password比较就行。
package test.problem;import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;import javax.swing.*;public class TestSwing extends Thread {
public final Map<String, String> map = new HashMap<String, String>();
public final JLabel jlname = new JLabel("用户名:");
public final JLabel jlpasswd = new JLabel("密 码:");
public final JTextField jtfname = new JTextField(10);
public final JButton jblogin = new JButton("Login");
public final JTextField jtpasswd = new JTextField(10);
public final JButton jbreg = new JButton("Regist");
public final JLabel jlmessage = new JLabel();
public final JFrame jf = new JFrame("login"); public TestSwing() {
jf.setVisible(true);
jf.setLayout(new FlowLayout());
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.add(jlname);
jf.add(jtfname);
jf.add(jblogin);
jf.add(jlpasswd);
jf.add(jtpasswd);
jf.add(jbreg);
jf.add(jlmessage);
jf.setBounds(500, 300, 300, 150);
jblogin.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String str = map.get(jtfname.getText());
if (str == null)
jlmessage.setText("用户名不存在!");
else if (str.equals(jtpasswd.getText())) {
jlmessage.setText("登陆成功!");
start();
} else
jlmessage.setText("密码错误!");
jtfname.setText("");
jtpasswd.setText("");
}
}); jbreg.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String name = jtfname.getText();
String passwd = jtpasswd.getText();
if ("".equals(name) || "".equals(passwd))
jlmessage.setText("用户名密码不能空!");
else if (map.get(name) != null)
jlmessage.setText("用户名已经存在!");
else {
map.put(name, passwd);
jlmessage.setText("注册成功!");
}
jtfname.setText("");
jtpasswd.setText("");
} });
} public void run() {
for (int i = 6; i >= 0; i--) {
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
if (i != 6)
jlmessage.setText(i + "秒后自动退出");
}
jf.dispose();
} public static void main(String[] args) {
new TestSwing();
}
}