请问判断从一个JTextField中取出来的string是int,并且是正数啊?谢谢

解决方案 »

  1.   

    try
    {
    JTextField jtf=new JTextField();
    String str=jtf.getText();
    int i=Integer.paseInt(str);
    if(i>0)
    System.out.println("OK");
    }
    catch(Exception e)
    {
    System.out.println("请输入正整数");
    }
      

  2.   

    我认为上面的代码有一点小问题,如果我输入一个负整数,这样并不会catch这个exception吧。
    也就不会执行System.out.println("请输入正整数");
      

  3.   

    这个程序写的很不好,应该使用java.uitl.txt.***的数据格式化类即可很好的控制,并且达到你的效果. 至于具体的代码就请你自己去研究了, 研究完成后请他结果贴出来,给大家一个参考吧.^_^
      

  4.   

    try
    {
    JTextField jtf=new JTextField();
    String str=jtf.getText();
    int i=Integer.paseInt(str);
    if(i>0) {
    System.out.println("OK");
    } else {
    System.out.println("请输入正整数");
    }
    }
    catch(Exception e)
    {
    System.out.println("请输入正整数");
    }
      

  5.   

    将取出的数字循环判断,用ascii码
      

  6.   

    java推荐:写一个验正类,如/**
    * 验正数值输入的内部类

    * @author Ljm_PC

    */
    class IntValueVerifier extends InputVerifier {
       public boolean verify(javax.swing.JComponent input) {
           JTextField tf = (JTextField) input;       boolean pass = false;       if (!tf.getText().trim().equals("")) {
               try {
                   int v=Integer.valueOf(tf.getText());               if(v>0)
                     pass = true;
               } catch (Exception e) {
                   System.out.println("非法输入,应输入数值。");
               }
           }       return pass;
       }
    }创建JTextField时,为其指定验证:
    JTextField jTextField = new JTextField();
    // 限制输入数值
    jTextField .setInputVerifier(new IntValueVerifier());    这样保证在文本框内只能输入正整数,后面就不需要再做其他判断了,因为如果输入不合法,连光标都不能离开文本框。
        再多说一句,最好将常用的验正类统一写一下(如Double,Integer)等,这样用的时侯随手拿来就行。
      

  7.   

    class IntValueVerifier extends InputVerifier 
    {
       public boolean verify(javax.swing.JComponent input) 
       {
           JTextField tf = (JTextField) input;
       }
    }楼上的朋友..类里的方法的参数是什么意思阿?jTextField .setInputVerifier(new IntValueVerifier());  这句话里只是 new 了一下这个类.但没传参的阿...还有..你说连光标都不能离开文本框..?哪里有代码实现了..? 小弟不才..问下高手..希望解答..thanks..
      

  8.   

    看了下java的幫助文檔..有如下的例子: import java.awt.*;
     import java.util.*;
     import java.awt.event.*;
     import javax.swing.*;
     
     // This program demonstrates the use of the Swing InputVerifier class.
     // It creates two text fields; the first of the text fields expects the
     // string "pass" as input, and will allow focus to advance out of it
     // only after that string is typed in by the user. public class VerifierTest extends JFrame {
         public VerifierTest() {
             JTextField tf1 = new JTextField ("Type \"pass\" here");
         getContentPane().add (tf1, BorderLayout.NORTH);
         tf1.setInputVerifier(new PassVerifier());
     
         JTextField tf2 = new JTextField ("TextField2");
         getContentPane().add (tf2, BorderLayout.SOUTH);
     
         WindowListener l = new WindowAdapter() {
             public void windowClosing(WindowEvent e) { 
                 System.exit(0); 
             }
         };
         addWindowListener(l);
         }
     
         class PassVerifier extends InputVerifier {
             public boolean verify(JComponent input) {
             JTextField tf = (JTextField) input;
             return "pass".equals(tf.getText());
             }
         }
     
         public static void main(String[] args) {
             Frame f = new VerifierTest();
         f.pack();
         f.setVisible(true);
         }
     }