Pembatasan Char untuk JTextField dalam java

Berikut merupakan source code untuk melakukan pembatasan char untuk JTextField dalam java.

kelas JTextFieldLimit

import javax.swing.text.*;

public class JTextFieldLimit extends PlainDocument {
    private int limit;
    // Opsi untuk merubah ke Uppercase
    private boolean toUppercase = false;

    JTextFieldLimit(int limit) {
        super();
        this.limit = limit;
    }

    JTextFieldLimit(int limit, boolean upper) {
        super();
        this.limit = limit;
        toUppercase = upper;
    }

    public void insertString
            (int offset, String  str, AttributeSet attr)
            throws BadLocationException {
        if (str == null) return;

        if ((getLength() + str.length()) <= limit) {
            if (toUppercase) str = str.toUpperCase();
            super.insertString(offset, str, attr);
        }
    }
}



Setelah class tersebut dibuat, selanjutnya anda tinggal menggunakannya di class-class yang diperlukan, berikut contoh penggunaannya :

kelas Tester

import java.awt.*;
import javax.swing.*;

public class Tester extends JApplet{
    JTextField textfield1;
    JLabel label1;

    public void init() {
        getContentPane().setLayout(new FlowLayout());
        //
        label1 = new JLabel("Maksimum 10 Karakter");
        textfield1 = new JTextField(15);
        getContentPane().add(label1);
        getContentPane().add(textfield1);
        textfield1.setDocument
                (new JTextFieldLimit(10));
    }
}

Comments

Popular posts from this blog

Shenzhen Hi-tec network Technology co. Ltd

Network Technology course

Network Technology book Pdf