`
java-mans
  • 浏览: 11422070 次
文章分类
社区版块
存档分类
最新评论

Java JPasswordField用法解析——toString方法

 
阅读更多

环境: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方法。


分享到:
评论

相关推荐

    java swing-JPasswordField的使用

    JPasswordField是Swing库提供的一个密码输入框组件。与普通的文本输入框不同,JPasswordField会隐藏用户输入的字符,用圆点或星号等符号代替,以保护密码的安全性。

    Java Swing JPasswordField密码框的实现示例

    主要介绍了Java Swing JPasswordField密码框的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java开发技术大全 电子版

    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的多线程...

    疯狂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 ...

    java 学生管理系统

    JPasswordField pwd = new JPasswordField(); JButton Enter = new JButton("登录"); JButton Exit = new JButton("退出"); String url = "D:\\Systems\\title.jpg"; ButtonGroup bgp = new ButtonGroup(); ...

    java学生成绩管理系统

    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 ...

    Javaswing登录页面的实现

    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....

    java经典面试2010集锦100题(不看你后悔)

    —————————————————————————————————————— 题目1: 下面不属于基本类型的是:c (选择1项) A) boolean B) long C) String D) byte 题目2:d 如下程序中: (1)public class ...

    Java用户名密码验证实例.rar

     JPasswordField password; //密码输入框  JButton logonButton; //登录按钮  JButton cancelButton; //退出按钮  public JPasswordFieldDemo() { //构造函数   super("JPasswordField演示"); //调用父类...

    Java通讯录系统全部源码

    private JPasswordField passwordJPasswordField=new JPasswordField(); //声明密码输入域 private JButton[] arrayJButton={new JButton("登 录"),new JButton("注 册")}; //声明包含两个按钮数组 //构造函数 ...

    银行取款转账系统(Java编写)

    非常适合有一定基础的Java初学者使用。 package com.gujunjia.bank; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ import java.sql.*; /** * * @...

    用java写GUI图形界面

    用java写GUI图形界面 public class login extends JFrame { private JComboBox nameJComboBox; private JPanel userJPanel; private JLabel pictureJLabel; private JButton okJButton,cancelJButton; ...

    java程序源代码,图书室借阅管理系统的程序

    private JPasswordField newpassword = new JPasswordField(); private JPasswordField oldpassword = new JPasswordField(); private JLabel newPass = new JLabel("请输入新密码:"); private JLabel oldPass =...

    javaSE代码实例

    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

    疯狂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 ...

    ATM自动取款机(java初学者)

    作为一个java 初学者,我非常了解一个才接触程序开发的急切心情,希望这个实例能对更多的学者更多的帮助,涉及范围:GUI(JFrame 、JPanel、javaIO 、集合、、) JPanel jpanel = setBgImg(); jpanel.setLayout...

    ATM,java编写的

    JPasswordField passtf; JButton 注册,确定,退出; ImageIcon icon; Container con=null; Information 客户信息; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null;...

    JPasswordFieldDemo

    JAVa实用的java密码,对于渣渣来说很有用

    基于java记账管理系统软件程序设计,有界面,代码要求写有中文注释

    这是一个简单的基于Java的记账管理系统软件程序设计,使用Swing库实现图形界面。考虑到数据的安全性,密码以JPasswordField组件的形式输入,并在相应的按钮监听器中进行比较和存储。程序的基本框架包括创建账户、...

    java任务包

    了解AWT和Swing的区别和联系。 掌握容器的概念及其分类。 掌握容器JFame、JPanel、JDialog的使用。...掌握组件JButton、JLabel、JTextFiled、JTextArea和JPasswordField的使用。 掌握将组件添加到容器中方法。

Global site tag (gtag.js) - Google Analytics