Pemograman JAVA (membuat Valid text dengan JTextField)

Referensi Aplikasi Java / Java Application
Untuk bisa menangani input yang tidak sesuai maka kita buat dulu class berikut: /** * FILTER TEST * OLEH RACHMAD HW email: rac3_hw@yahoo.com blog: rachmad-hw.blogspot.com */ import javax.swing.text.*; import java.util.regex.*; import javax.swing.JOptionPane; /** * * @author RAHW */ public class FilterText extends PlainDocument { Pattern pattern; Matcher sama; public FilterText () { super(); } public FilterText (AbstractDocument.Content c) { super(c); } public FilterText (AbstractDocument.Content c, String p) { super (c); setPatternByString (p); } public FilterText (String p) { super(); setPatternByString (p); } public void setPatternByString (String p) { filter = p; Pattern pattern = Pattern.compile (p); // CEK APAKAH INPUT SESUAI DENGAN PATTERN // DAN MENGAHAPUS YANG TIDAK SESUAI try { sama = pattern.matcher(getText(0, getLength())); //System.out.println (“cek apakah sama ” + getText (0, getLength())); if (! sama.matches()) { System.out.println (“Input Tidak Sesuai”); JOptionPane.showMessageDialog(null, “Input Tidak Sesuai dengan –> ” + filter); remove (0, getLength()); } } catch (BadLocationException ble) { ble.printStackTrace(); // impossible? } } public Pattern getPattern() { return pattern; } @Override public void insertString (int offs, String s, AttributeSet a) throws BadLocationException { // consider whether this insert will match String proposedInsert = getText (0, offs) + s + getText (offs, getLength() – offs); if (sama != null) { sama.reset (proposedInsert); if (! sama.matches()) { System.out.println (“Input Tidak Sesuai”); JOptionPane.showMessageDialog(null, “Input Tidak Sesuai dengan –> ” + filter); return; } } super.insertString (offs, s, a); } String filter; } kemudian kita set pada JTextField yang akan kita batasi inputnya, berikut perintahnya: FilterText ft =new FilterText() ; ft.setPatternByString(“[0-9]*”); [0-9]* merupakan batasan input yang hanya memperbolehkan input berupa angka [a-z]* merupakan batasan input yang hanya memperbolehkan input berupa huruf kecil [A-Z]* merupakan batasan input yang hanya memperbolehkan input berupa huruf besar http://rachmad-hw.blogspot.com/2009/02/pemograman-java-membuat-valid-text.html

Share this

Leave a Reply

Your email address will not be published.