English French German Spain Italian Russian Portuguese Japanese Korean Chinese Simplified

Join The Community

Buy and sell Text Links Premium WordPress Themes

April 03, 2012

Otomatisasi Jlabel Saat Menulis Kalimat Panjang di Form

Cukup mudah walaupun agak repot untuk menjadikan JLabel menampung text yang panjang dan otomatis di turunkan ke bawah, jika lebar JLabel sudah tidak mencukupi, kita hanya perlu memasukkan text yang akan di tampung kedalam tag HTML seperti ini
JLabel labelKu = new JLabel ();
labelKu.setText("<html>selamat datang, text ini akan diturunkan otomatis jika lebar label sudah tidak mencukupi</html>");
 
Thanks... 

Membuat Upper Case / Lower Case Otomatis di JTextField

Untuk membuat text di dalam JTextField otomatis huruf besar (Upper Case) maupun huruf kecil (Lower Case), ataupun Normal seperti biasa, hanya perlu meng-Override  method insertString dan replace di kelas DocumentFilter, pada contoh dibawah saya mebuat atribut characterCasing agar dapat dengan mudah kita set menggunakan IDE Netbeans, jadi pada saat kita memasukkan object seperti contoh dibawah kedalam JFrame, pada jendela properties langsung kelihatan property characterCasing, jadi bisa langsung kita rubah nilainya seperti NORMAL, UPPER atau LOWER langsung di jendela properties
import javax.swing.JTextField;
import javax.swing.text.AbstractDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.DocumentFilter;

/**
*
* @author Ahmad Thahir
*/
public class tJTextField extends JTextField {

public tJTextField() {
super();
((AbstractDocument) getDocument()).setDocumentFilter(filter);
}

public enum CharacterCasing {
NORMAL, UPPER, LOWER
}

private CharacterCasing characterCasing=CharacterCasing.NORMAL;

public CharacterCasing getCharacterCasing() {
return characterCasing;
}

public void setCharacterCasing(CharacterCasing characterCasing) {
this.characterCasing = characterCasing;
}

DocumentFilter filter = new DocumentFilter() {

@Override
public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
if (getCharacterCasing()==CharacterCasing.UPPER) {
string=string.toUpperCase();
} else if (getCharacterCasing()==CharacterCasing.LOWER) {
string=string.toLowerCase();
}
super.insertString(fb, offset, string, attr);
}

@Override
public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
if (getCharacterCasing()==CharacterCasing.UPPER) {
text=text.toUpperCase();
} else if (getCharacterCasing()==CharacterCasing.LOWER) {
text=text.toLowerCase();
}
super.replace(fb, offset, length, text, attrs);
}

};

}

dari contoh kode diatas, kita juga membuat type enum "CharacterCasing" dan membuat variable characterCasing dengan type enum "CharacterCasing", ini agar kita dapat dengan mudah mengganti nilai variable tersebut sesuai dengan nilai yang telah disediakan dalam type enum yang bersangkutan, kode diatas sudah siap pakai, seperti contoh dibawah :
tJTextField tJTextField1 = new tJTextField();

tJTextField1.setCharacterCasing(tJTextField.CharacterCasing.UPPER);
 
Thanks....