Cara Membuat Aplikasi Autocomplete Text Java - Autocomplete adalah prediksi inputan yang sedang dimasukan oleh user yang kemudian di cocokan dengan data sehingga menghasilkan prediksi hasil yang sedang di input oleh user, sehingga mempermudah user dalam melakukan input, karena user tidak harus mengetikan seluruh kata yang di carinya karna sudah di bantu dengan adanya aplikasi autocomplete ini.
Baca juga : Cara Membuat Aplikasi Running Text Java
Baca juga : Cara Membuat Aplikasi Running Text Java
Autocomplete sering kita jumpai ketika kita searching di google, ketika kita mencari suatu kata di google, ia akan mensugestikan atau memprediksikan beberapa kata atau kalimat yang di cari oleh user sehingga mempercepat proses pencarian.
Di dalam aplikasi java kita juga bisa melakukan hal tersebut, sebagai contoh pada kali ini kita akan melaukan hal ini pada inputan textfield. sekarang langsung saja kita meluncur ke contoh program sederhananya.
1. Buatlah sebuah project Java Aplication dengan cara klik File > New Project > Java > Java Aplication.
2. Ubah nama project menjadi AutocompleteTextApp.
3. Sekarang buatlah sebuah class baru dengan cara klik kanan pada project anda > New > Java Class
4. Berinama class tersebut AutocompleteKeyAdapter. kemudian masukan script berikut :
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package autocompletetextapp; import java.awt.EventQueue; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.ArrayList; import java.util.List; import javax.swing.JTextField; /** * * @author Jin Toples */ public class AutocompleteKeyAdapter extends KeyAdapter { JTextField textField; List list; public AutocompleteKeyAdapter(JTextField textField){ this.textField = textField; list = new ArrayList(); list.add("apel"); list.add("mangga"); list.add("jeruk"); list.add("jambu"); list.add("anggur"); list.add("pisang"); list.add("melon"); list.add("kelapa"); list.add("sawo"); list.add("strawberry"); list.add("belimbing"); list.add("salak"); list.add("pepaya"); list.add("leci"); list.add("durian"); } @Override public void keyPressed(KeyEvent e){ switch (e.getKeyCode()){ case KeyEvent.VK_BACK_SPACE: break; case KeyEvent.VK_ENTER: textField.setText(textField.getText()); break; default: EventQueue.invokeLater(new Runnable(){ @SuppressWarnings("unchecked") @Override public void run(){ String text = textField.getText(); doCompletion(text); } }); break; } } public void doCompletion(String text){ String textComplete = ""; int start = text.length(); int end = text.length(); for(int i = 0; i < list.size(); i++){ if(list.get(i).toString().startsWith(text)){ textComplete = list.get(i).toString(); end = textComplete.length(); break; } } if(end > start){ textField.setText(textComplete); textField.setCaretPosition(end); textField.moveCaretPosition(start); } } }
Penjelasan :
Di atas kita membuat sebuah list yang menampung daftar kata - kata yang akan dicocokan untuk memprediksiakan hasil yang di input di dalam textfield.
Perhatikan method doCompletion() di amana program akan melakukan proses autocomplete, dengan mencocokan kata yang di inputkan dengan awalan huruf pada list yang sebelumnya telah di tampung. prediksi kata yang muncul akan berbentung dalam keadaan diblok.
AutocompleteKeyAdapter akan mendeteksi setiap akta yang kita ketikan ataupun setiap kita mekan tombol backspace atau enter
Ketika kita menekan backspace maka program tidak akan melakukan apapun sehingga backspace bekerja seperti biasa. sedangkan ketika kita mekan enter maka program akan mengcompletekan kata yang kita input sesuai sugest kata yang muncul.
5. Sekarang buatlah sebuah class baru dengan cara klik kanan pada project anda > New > Java Class
6. Berinama class tersebut FormUtama. kemudian masukan script berikut :
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package autocompletetextapp; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JTextField; /** * * @author Jin Toples */ public class FormUtama extends JFrame { JTextField textField; public FormUtama(){ super("AutoComplete Text"); initComponents(); } private void initComponents() { textField = new JTextField(); textField.setFont(new Font("Tahoma", Font.BOLD, 18)); textField.setPreferredSize(new Dimension(300, 36)); textField.addKeyListener(new AutocompleteKeyAdapter(textField)); getContentPane().add(textField, BorderLayout.CENTER); pack(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
9. Sekarang buka file AutocompleteTextApp.java. kemudian ketikan script berikut :
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package autocompletetextapp; /** * * @author Jin Toples */ public class AutocompleteTextApp { /** * @param args the command line arguments */ public static void main(String[] args) { new FormUtama(); } }
Sekarang ketika anda mengetikan suatu huruf pada text field maka akan muncul prediksi teks yang akan anda input yang telah di cocokan dengan data yang anda adaptasikan di AutocompleteKeyAdapter, untuk mencobanya anda dapat jalannya program anda dengan cara tekan F6 pada keyboard atau klik Run > Run Poject. atau klik kanan pada file RunningTextApp klin Run File.
Aplikasi Autocomplete Text Java sekarang sudah selesai, baca juga tutorial membuat aplikasi java lainnya.
Aplikasi Autocomplete Text Java sekarang sudah selesai, baca juga tutorial membuat aplikasi java lainnya.
0 komentar