RSS

Filter huruf besar, huruf kecil dan angka secara otomatis

12 Feb

Setelah postingan sebelumnya mengenai textbox yang dapat merubah huruf besar menjadi huruf kecil dan sebaliknya maka posting berikut ini hanya menambahkan filter textbox yang hanya dapat menerima angka saja walaupun masih bisa diinput dengan karakter lain selain karakter huruf.
Codenya seperti dibawah ini :

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

/**
* Nama File : jv2.java
* @author anton
*
* Keterangan :
*/
public class jv2 extends JFrame{

JLabel lblHurufBesar = new JLabel("Huruf Besar : ");
JTextField txtHurufBesar = new JTextField();

JLabel lblHurufKecil = new JLabel("Huruf Kecil : ");
JTextField txtHurufKecil = new JTextField();

JLabel lblAngka = new JLabel("Angka : ");
JTextField txtAngka = new JTextField();

public jv2(){
setTitle("delijo.blogspot.com. It’s about Linux and java code");
this.getContentPane().setLayout(null);

lblHurufBesar.setBounds(new Rectangle(50, 60, 200, 20));
txtHurufBesar.setBounds(new Rectangle(200, 60, 200, 20));

lblHurufKecil.setBounds(new Rectangle(50, 90, 200, 20));
txtHurufKecil.setBounds(new Rectangle(200, 90, 200, 20));

lblAngka.setBounds(new Rectangle(50, 120, 200, 20));
txtAngka.setBounds(new Rectangle(200, 120, 200, 20));

this.setState(Frame.NORMAL);
this.getContentPane().add(lblHurufBesar,null);
this.getContentPane().add(txtHurufBesar,null);
this.getContentPane().add(lblHurufKecil,null);
this.getContentPane().add(txtHurufKecil,null);
this.getContentPane().add(lblAngka,null);
this.getContentPane().add(txtAngka,null);
txtHurufBesar.setDocument(new SaringKarakter().getToUpperCase());
txtHurufKecil.setDocument(new SaringKarakter().getToLowerCase());
txtAngka.setDocument(new SaringKarakter().getOnlyDigit());
}
/**
* Methode main
* @param args : arguments
*/
public static void main(String[] args) {
jv2 myForm = new jv2();

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int lebar = (screen.width - myForm.getSize().width)/2;
int tinggi = (screen.height - myForm.getSize().height)/2;

myForm.setLocation(lebar,tinggi);
myForm.setSize(500, 300);
myForm.setResizable(false);
myForm.setVisible(true);
myForm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}<!--more-->

class SaringKarakter {
public SaringKarakter() {
}

/** method ini dipakai untuk mengeset dan mendapatkan filter
*  serta merubah semua case menjadi lowercase
*  @return mengembalikan filter bertype PlainDocument
*  Merubah semua HURUF menjadi HURUF KECIL (LOWER CASE)
*/
public PlainDocument getToLowerCase() {
PlainDocument filterLower = new PlainDocument() {
public void insertString(int offs, String str, AttributeSet a) throws
BadLocationException {
char[] lower = str.toCharArray();
for (int i = 0; i &lt; lower.length; i++) {
// Menjadi lower case
lower[i] = Character.toLowerCase(lower[i]);
}
super.insertString(offs, new String(lower), a);
}
};
return filterLower;
}

/** method ini dipakai untuk mengeset dan mendapatkan filter
*  serta merubah semua case menjadi uppercase
*  @return mengembalikan filter bertype PlainDocument
*  Merubah semua HURUF menjadi HURUF BESAR (UPPER CASE)
*/
public PlainDocument getToUpperCase() {
PlainDocument filterUpper = new PlainDocument() {
public void insertString(int offs, String str, AttributeSet a) throws
BadLocationException {
char[] upper = str.toCharArray();
for (int i = 0; i &lt; upper.length; i++) {
// Menjadi upper case
upper[i] = Character.toUpperCase(upper[i]);
}
super.insertString(offs, new String(upper), a);
}
};
return filterUpper;
}

/** methode ini dipakai untuk mengeset dan mendapatkan filter
*  @return mengembalikan filter bertype PlainDocument
*  Menyaring Hanya karakter angka (Digit) yang bisa dimasukkan
*/
public PlainDocument getOnlyDigit() {
PlainDocument filterDigit = new PlainDocument() {
public void insertString(int offs, String str, AttributeSet a) throws
BadLocationException {
StringBuffer buffer = new StringBuffer();
int s = 0;
char[] dataInput = str.toCharArray();
// Memeriksa semua data yang dimasukkan
for (int i = 0; i &lt; dataInput.length; i++) {
// Menyaring Apakah data masukkan berupa DIGIT ??
boolean isOnlyDigit = Character.isLetter(dataInput[i]);
if (isOnlyDigit == false) {
dataInput[s] = dataInput[i];
s++;
}
}
buffer.append(dataInput, 0, s);
super.insertString(offs, new String(buffer), a);
}
};
return filterDigit;
}
} // Akhir Kelas changeCase
} // Akhir Super Kelas SaringKarakterChangeCase

 

Note :
Kekurangan pada kode saring angka ini adalah textbox tersebut masih bisa diisi dengan karakter “/, +, – ataupun karakter lain selain angka. Postingan berikutnya mungkin akan saya buat, jika huruf hanya karakter a-z sementara angkanya terdiri dari 0-9 dan tidak ada karakter lain selain karakter tersebut diatas.

 
3 Comments

Posted by on February 12, 2011 in Java Code

 

Tags: , , , ,

3 Responses to Filter huruf besar, huruf kecil dan angka secara otomatis

  1. ifa

    June 30, 2011 at 10:15 am

    aslm…
    maz, bs saya mintak resensi untuk merubah huruf kecil mjdi huruf besar dg sintax yg ada dlam oracle. trima kasih sanget..
    waslm..

     
  2. Anton Hartono

    June 30, 2011 at 1:04 pm

    Waduh, sorry bung ifa, saya tidak tahu bahasa oracle>

     
  3. US

    December 14, 2011 at 8:32 pm

    wah info menarik …!

     

Leave a Reply

Fill in your details below or click an icon to log in:

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 )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.