遇到个很奇怪的现象,清空成功一次后接着又失败一次,然后又成功一次失败一次,帮我看看问题出在哪里?- import java.awt.*;
- import java.awt.event.*;
- public class CheckIP {
-
- private Frame f;
- private TextField tf;
- private Button bt;
- private TextArea ta;
-
- public CheckIP(){
- init();
- }
-
- void init(){
- f = new Frame("验证IP地址是否正确");
- f.setBounds(200,100,400,300);
- f.setLayout(new FlowLayout());
- tf = new TextField("",20);
- bt = new Button("验证");
- ta = new TextArea("",5,29);
- f.add(tf);
- f.add(bt);
- f.add(ta);
- myEvent();
- f.setVisible(true);
- }
-
- private void myEvent(){
- //关闭按钮事件
- f.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e){
- System.exit(0);
- }
- });
-
- //bt按钮事件
- bt.addActionListener(new ActionListener() {
-
- public void actionPerformed(ActionEvent e) {
- // TODO 自动生成的方法存根
- ta.setText("");//清空TextArea
- String text = tf.getText();//获取编辑框的内容
- String info = matches(text);
- ta.append(info);
- }
- });
- }
-
-
- public String matches(String text){
-
- if(text != null && !text.isEmpty()){
- String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
- +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
- +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
- +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
- if(text.matches(regex)){
- return text+"\n是一个合法的IP地址";
- }
- else{
- return text+"\n不是一个合法的IP地址";
- }
- }
- return "请输入要验证的ip地址";
- }
- public static void main(String[] args) {
- // TODO 自动生成的方法存根
- new CheckIP();
- }
- }
复制代码
|