نمایش نتایج 1 تا 2 از 2

نام تاپیک: محدود کردن تکست باکس به وارد کردن عدد در بازه خاص در اکلیپس

  1. #1

    محدود کردن تکست باکس به وارد کردن عدد در بازه خاص در اکلیپس

    سلام دوستان
    کسی میدونه محدود کردن تکست باکس به وارد کردن عدد در بازه خاص توی اکلیپس چطوریه؟


    لطفا جواب بدین اگه میدونین خیلی ممنونم

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: محدود کردن تکست باکس به وارد کردن عدد در بازه خاص در اکلیپس

    این نمونه کدی که فقط عدد تا سقف 500 قبول میکنه (عدد منفی هم قبول میکنه).
    با DocumentFilter نوشته شده و بر حسب ویژگی مورد نظرتون کافیه تابع valid که نوشتم رو تغییر بدید




    import javax.swing.JFrame;
    import javax.swing.JTextField;
    import javax.swing.text.AbstractDocument;
    import javax.swing.text.AttributeSet;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.Document;
    import javax.swing.text.DocumentFilter;


    public class Main extends JFrame {


    public Main() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JTextField textFieldOne = new JTextField();
    Document textDocOne = textFieldOne.getDocument();
    DocumentFilter filterOne = new CheckRange();
    ((AbstractDocument) textDocOne).setDocumentFilter(filterOne);
    add(textFieldOne);


    setSize(300, 75);
    }


    public static void main(String[] args) {
    Main window = new Main();
    window.setVisible(true);
    }


    private class CheckRange extends DocumentFilter {
    int RANGE_MAX = 500;
    @Override
    public void insertString(DocumentFilter.FilterBypass fb, int offset, String text,
    AttributeSet attr) throws BadLocationException {
    if (valid(fb, offset, WIDTH, text)) {
    super.insertString(fb, offset, text, attr);
    }
    }


    @Override
    public void remove(DocumentFilter.FilterBypass fb, int offset, int length)
    throws BadLocationException {
    super.remove(fb, offset, length);
    }


    @Override
    public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text,
    AttributeSet attrs) throws BadLocationException {
    if (valid(fb, offset, length, text)) {
    super.replace(fb, offset, length, text, attrs);
    }
    }

    //Validate
    boolean valid(FilterBypass fb, int offset, int length, String text) throws BadLocationException{
    boolean valid = false;
    text = text.trim();
    String newStr = fb.getDocument().getText(0, fb.getDocument().getLength()) + text;
    try {
    if (newStr.length() == 1 && newStr.equals("-")) {
    valid = true;
    } else if (Integer.valueOf(newStr) <= RANGE_MAX) {
    valid = true;
    }
    } catch (NumberFormatException ex) {

    }finally{
    return valid;
    }
    }
    }
    }



تاپیک های مشابه

  1. محدود کردن تکست باکس به وارد کردن عدد در بازه خاص( 10-100)
    نوشته شده توسط niloo66 در بخش طراحی وب (Web Design)
    پاسخ: 5
    آخرین پست: شنبه 21 شهریور 1394, 14:57 عصر
  2. سوال: محدود کردن عدد صفر به عنوان اولین عدد تایپ شده در تکست باکس
    نوشته شده توسط mostafa-fathi در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: شنبه 23 خرداد 1394, 15:48 عصر
  3. محدود کردن تکست باکس به عدد
    نوشته شده توسط omid yeganeh در بخش ASP.NET Web Forms
    پاسخ: 17
    آخرین پست: شنبه 22 شهریور 1393, 18:48 عصر
  4. محدود کردن تکست باکس به اعداد
    نوشته شده توسط rasoul2023 در بخش VB.NET
    پاسخ: 2
    آخرین پست: دوشنبه 07 دی 1388, 11:06 صبح
  5. وارد کردن محتوای چند تکست باکس به یک جدول
    نوشته شده توسط slashslash2009 در بخش ASP.NET Web Forms
    پاسخ: 18
    آخرین پست: دوشنبه 18 آبان 1388, 17:35 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •