こんばんは、進行状況バーの実行に問題があります。コードを確認して、どこに問題があるか教えてください:
/**
** @author Islam */
public class Register extends javax.swing.JFrame implements Runnable {
static final int MY_MINIMUM = 0;
static final int MY_MAXIMUM = 100;
private Pattern pattern;
private Matcher matcher;
private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
boolean isValidPassord = true;
Thread th;
public Register() {
initComponents();
passwordTextF.addKeyListener(new passwordListener());
passwordMeter = new JProgressBar();
passwordMeter.setMinimum(MY_MINIMUM);
passwordMeter.setMaximum(MY_MAXIMUM);
th = new Thread(this);
th.start();
}
public void updateBar(int newValue) {
passwordMeter.setValue(newValue);
passwordMeter.setStringPainted(true);
System.out.println(newValue);
}
public void run() {
for (int i = MY_MINIMUM; i <= MY_MAXIMUM; i++) {
updateBar(i);
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
Logger.getLogger(Register.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
class passwordListener implements KeyListener {
public void keyPressed(KeyEvent e) {
passwordLabel.setForeground(Color.BLACK);
}
public void keyReleased(KeyEvent e) {
// Register.this.validatePassword(passwordTextF.getText());
if (!isValidPassord) {
// new PasswordMeterHandler().start();
}
}
public void keyTyped(KeyEvent e) {
}
}
public boolean validateEmail(String mailFromForm) {
pattern = Pattern.compile(EMAIL_PATTERN);
matcher = pattern.matcher(mailFromForm);
return matcher.matches();
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int i = 0;
this.validateEmail(nameTextF.getText());
this.validatePassword(passwordTextF.getText());
if (!matcher.matches()) {
EMailLabel.setForeground(Color.red);
}
if (!isValidPassord) {
passwordLabel.setForeground(Color.red);
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
}
public static void main(String args[]) {
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Register frame = new Register();
frame.setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel EMailLabel;
private javax.swing.JTextField EMailTextF;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JComboBox countryCombo;
private javax.swing.JComboBox genderCombo;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel nameLabel;
private javax.swing.JTextField nameTextF;
private javax.swing.JLabel passwordLabel;
private javax.swing.JProgressBar passwordMeter;
private javax.swing.JPasswordField passwordTextF;
private javax.swing.JLabel strengthLabel;
private javax.swing.JLabel userNameLabel;
private javax.swing.JTextField userNameTextF;
// End of variables declaration
}