String str=jtf.getText().trim()//密码字符串
JOptionPane.showConfirmDialo(this,jtf ,"输入密码",JOptionPane.OK_CANCEL_OPTION )
if(str.length!=6){
JOptionPane.showMessageDialog(this,"请输入6位密码")
}
//直接打的,可能有错误
满意请采纳。
要获得原始密码,那还加密做什么~~\x0d\x0aprivate JPasswordField password = new JPasswordField(30)\x0d\x0aString password = String.valueOf(this.password.getPassword())\x0d\x0a这样获取不到吗~~ import java.awt.*import java.awt.event.*
import javax.swing.*
public class QQLogin extends JFrame {
JTextField jtf,jtf1
public QQLogin() {
jtf = new JTextField(12)
jtf.setText("请输入")
jtf.setForeground(Color.GRAY)// 设置颜色
JPanel jp = new JPanel()
jp.add(jtf)
jtf1 = new JTextField(12)
JPanel jp1 = new JPanel()
jp1.add(jtf1)
this.add(jp1, BorderLayout.NORTH)
this.add(jp,BorderLayout.SOUTH)
this.setTitle("密码输入提示")
this.setBounds(300, 200, 220, 160)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
this.setVisible(true)
//jp1.getComponents()[0].setBackground(Color.RED)
//jp1上可能添加了很多组件,于是可以使用getComponents()返回一个组件数组。
//[0]表示选取该组件数组的第一个组件
//setBackground(Color.RED) 表示把该组件变成红色的背景颜色
jtf.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {// 失去焦点的时候
// 如果内容为空,设置文本
if (jtf.getText().trim().equals("")) {
jtf.setText("请输入")
}
}
@Override
public void focusGained(FocusEvent e) {// 得到焦点的时候
if (jtf.getText().trim().equals("请输入")) {
jtf.setText("")// 让文本为空白
}
}
})
}
public static void main(String[] args) {
new QQLogin()
}
}
代码上已经回答了你的2个问题