覆盖actionPerformed方法改一下
while(al) {
for(int j = 0 ; j < txt.length() ; j++) {
if (!(txt.charAt(j) >= 48 && txt.charAt(j) <= 57)) {
al=true;
JOptionPane.showMessageDialog(this,"您输入的不是数字,请重新输入!");
return;
}
break是跳出离它最近的循环,你这里有2层循环呢!
其实这里直接return 就可以了,方法结束
还有Class1既然继承了JFrame
JOptionPane.showMessageDialog中传this 就可以了!
把jButton1_actionPerformed() 这个方法改成下面的.
再试试看!
-----------------------------------------------
private void jButton1_actionPerformed(ActionEvent e) {
String txt = jTextField1.getText();
boolean is_number = true;
for(int j = 0 ; j < txt.length() ; j++) {
if (!(txt.charAt(j) >= 48 && txt.charAt(j) <= 57)) {
is_number = false;
break;
}
}
if(is_number){
//正常的时候的处理
}
else{
JOptionPane.showMessageDialog(null,"您输入的不是数字,请重新输入!");
}
}