环境:SQLServer 2008 R2 + MyEclipse 6.5 + JDK 1.6.24
问题:当使用JPasswordField类接收用户的密码,单击注册按钮无反应,向数据库插入数据时出现不可预期的结果。
如下图红色标识处(数据库数据):
分析一下可知,这是表示一个类的HashCode,很显然插入的数据中有一个类的HashCode表示。
代码如下(截取):
private JPasswordField tf_upwd, tf_ok;// tf_upwd为输入密码框 tf_ok为确认密码的输入框
String userPwd;//接收输入密码
String userPwdOk;//接收输入的确认密码
//userPwd = tf_upwd.getText();
userPwd = tf_upwd.getPassword().toString();
System.out.println(userPwd);
//userPwdOk = tf_ok.getText();
userPwdOk = tf_ok.getPassword().toString();
System.out.println(userPwdOk);
//看下打印的结果:
//[C@601bb1
//[C@1ba34f2
if (jb_ok == e.getSource()){
System.out.println("hh");
//if(userPwdOk.equals(userPwd)){
// userPwdOk.equals(userPwd)判断前后输入的密码是否一致,因为toString是表示一个类的文本显示,如果没重写,则返回该类的HashCode,如果对象不同,很显然HashCode不一致,对比是否相等很显然返回false
boolean isRegistSuc = false;
isRegistSuc = uDeal.registUser(deptId, userAccount, userPwd, userName, userGender, userPhone, userEmail);//注册用户方法
if (isRegistSuc) {
JOptionPane.showMessageDialog(this, "注册成功");
}else {
JOptionPane.showMessageDialog(this, "注册失败");
}
//}
}
看下Object类的toString方法源码:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
总结:JPasswordField 的getPassword()方法返回char数组,调用toString方法返回其HashCode。如果需要显示文本内容,可以重写toString方法。如果要得到输入的密码,可以使用JPasswordField的getText方法。
分享到:
相关推荐
JPasswordField是Swing库提供的一个密码输入框组件。与普通的文本输入框不同,JPasswordField会隐藏用户输入的字符,用圆点或星号等符号代替,以保护密码的安全性。
主要介绍了Java Swing JPasswordField密码框的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
7.5.2RandomAccessFile类使用示例——文件加密256 7.6控制台输入和输出257 7.6.1控制台输入类Scanner257 7.6.2格式化输出printf258 7.7序列化261 7.8本章小结264 第4篇Java中的高级技术 第8章Java的多线程...
6.2.1 打印对象和toString方法 170 6.2.2 ==和equals比较运算符 172 6.3 类成员 175 6.3.1 理解类成员 175 6.3.2 单例(Singleton)类 176 6.4 final修饰符 177 6.4.1 final变量 177 6.4.2 final方法 181 ...
JPasswordField pwd = new JPasswordField(); JButton Enter = new JButton("登录"); JButton Exit = new JButton("退出"); String url = "D:\\Systems\\title.jpg"; ButtonGroup bgp = new ButtonGroup(); ...
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.AbstractTableModel; import java.io.*; import java.util.*; class Mainboard ...
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Cursor; import java.awt.Dimension; import java.awt.FlowLayout; import java....
—————————————————————————————————————— 题目1: 下面不属于基本类型的是:c (选择1项) A) boolean B) long C) String D) byte 题目2:d 如下程序中: (1)public class ...
JPasswordField password; //密码输入框 JButton logonButton; //登录按钮 JButton cancelButton; //退出按钮 public JPasswordFieldDemo() { //构造函数 super("JPasswordField演示"); //调用父类...
private JPasswordField passwordJPasswordField=new JPasswordField(); //声明密码输入域 private JButton[] arrayJButton={new JButton("登 录"),new JButton("注 册")}; //声明包含两个按钮数组 //构造函数 ...
非常适合有一定基础的Java初学者使用。 package com.gujunjia.bank; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ import java.sql.*; /** * * @...
用java写GUI图形界面 public class login extends JFrame { private JComboBox nameJComboBox; private JPanel userJPanel; private JLabel pictureJLabel; private JButton okJButton,cancelJButton; ...
private JPasswordField newpassword = new JPasswordField(); private JPasswordField oldpassword = new JPasswordField(); private JLabel newPass = new JLabel("请输入新密码:"); private JLabel oldPass =...
14.1.1 toString方法的重写 270 14.1.2 equals方法的意义 271 14.1.3 hashCode方法的意义 272 14.2 重写equals与hashCode方法 273 14.2.1 重写equals方法 273 14.2.2 重写hashCode方法 275 14.3 集合...
疯狂java讲义第五版第一章例题1.4代码package geng.view; import java.awt.*; import javax.swing.*; import java.awt.event.*; import geng.model.*; import geng.handle.*; public class RegisterView extends ...
作为一个java 初学者,我非常了解一个才接触程序开发的急切心情,希望这个实例能对更多的学者更多的帮助,涉及范围:GUI(JFrame 、JPanel、javaIO 、集合、、) JPanel jpanel = setBgImg(); jpanel.setLayout...
JPasswordField passtf; JButton 注册,确定,退出; ImageIcon icon; Container con=null; Information 客户信息; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null;...
JAVa实用的java密码,对于渣渣来说很有用
这是一个简单的基于Java的记账管理系统软件程序设计,使用Swing库实现图形界面。考虑到数据的安全性,密码以JPasswordField组件的形式输入,并在相应的按钮监听器中进行比较和存储。程序的基本框架包括创建账户、...
了解AWT和Swing的区别和联系。 掌握容器的概念及其分类。 掌握容器JFame、JPanel、JDialog的使用。...掌握组件JButton、JLabel、JTextFiled、JTextArea和JPasswordField的使用。 掌握将组件添加到容器中方法。