kadang kala kita ketika membuat program java membutuhkan sebuah JTextField yang dibatasi, maksudnya gini, ketika user memasukan karakter pada jtextfield ketika sudah mencapai jumlah batas yang telah kita tentukan karakter yang di inputkan tidak tercetak lagi
ok langsung saja kita praktek:
1. Buatlah sebuah projek java aplication
2. Buatlah sebuah java class MaxDocument.java
4. Lalu edit kode berikut:
maka jumlah carakter akan dibatasi 10 carakter saja
ok langsung saja kita praktek:
1. Buatlah sebuah projek java aplication
2. Buatlah sebuah java class MaxDocument.java
package asep.max.text;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
/**
*
* @author asep
*/
public class MaxDocument extends PlainDocument{
private int max;
public MaxDocument(int max) {
this.max = max;
}
public MaxDocument() {
this(-1);
}
@Override
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if(this.max==-1){
super.insertString(offs, str, a);
}else{
int panjangYangMasuk=str.length();
int panjangText=getLength();
if((panjangText+panjangYangMasuk)>this.max){
//text tidak dimasukan
}else{
super.insertString(offs, str, a);
}
}
}
}
3. Buatlah jFrame sbb:import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
/**
*
* @author asep
*/
public class MaxDocument extends PlainDocument{
private int max;
public MaxDocument(int max) {
this.max = max;
}
public MaxDocument() {
this(-1);
}
@Override
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if(this.max==-1){
super.insertString(offs, str, a);
}else{
int panjangYangMasuk=str.length();
int panjangText=getLength();
if((panjangText+panjangYangMasuk)>this.max){
//text tidak dimasukan
}else{
super.insertString(offs, str, a);
}
}
}
}
4. Lalu edit kode berikut:
public class Form extends javax.swing.JFrame {
/** Creates new form Form */
public Form() {
initComponents();
MaxDocument document=new MaxDocument(10);
txtNama.setDocument(document);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
lalu jalankan program,/** Creates new form Form */
public Form() {
initComponents();
MaxDocument document=new MaxDocument(10);
txtNama.setDocument(document);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
maka jumlah carakter akan dibatasi 10 carakter saja
2 comments
Coba
Langsung di coba gan. Thank tutornya ..
EmoticonEmoticon