จำกัดจำนวนตัวอักษรใน JTextField

นิสิตคนหนึ่งถามผมถึงวิธีการจำกัดจำนวนตัวอักษรใน JTextField ผมเลยถาม google ต่อ

โค้ดต่อไปนี้ดัดแปลงจากเพจ How to limit number of characters in JTextField?

import javax.swing.text.*;

public class FixedSizeDocument extends PlainDocument {
    private final int max = 10;

    @Override
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
        // check string being inserted does not exceed max length
        if (getLength() + str.length() <= max) {
            super.insertString(offs, str, a);
        }
    }
}

ในคอนสตรัคเตอร์ของ JFrame ให้เพิ่มโค้ดต่อไปนี้ลงไป เพื่อกำหนดให้ jTextField1 ใช้โมเดลจากคลาส FixedSizeDocument

jTextField1.setDocument(new FixedSizeDocument());
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s