Make your dream to be programer is happen

Cara Membuat Aplikasi Autocomplete Dengan Dropdown Java

Cara Membuat Aplikasi Autocomplete Dengan Dropdown Java
Cara Membuat Aplikasi Autocomplete Dengan Dropdown Java - Dorpdown adalah sebuatan lain dari combobox, jika kita sebelumnya sudah pernah melakukan autocomplete pada text field yang hasil resultya langsung muncul pada karakter selanjutnya, pada kali ini kita melakukannya pada combobox yang hasil resultnya muncul dalam bentuk dropdown sehingga memudahkan kita, dan juga kita dapat memilih dan melihat resultnya dengan mudah karna muncul pada bagian bawah kata yang kita ketikan.
Hal ini seperti yang terdapat di dalam sistem pencarian search engine google ketika setiap kita ingin mencari langsung muncul sugest kata yang kita cari pada bagian bawahnya shingga memudahkan kita dalama mencari. untuk lebih jelasnya langsung saja ke contoh programnya.

1. Buka NetBeans anda kemudian buatlah sebuah project Java Aplication dengan cara klik File > New Project > Java > Java Aplication.

2. Ubah nama project menjadi AutocompleteComboboxApp.


3. Sekarang buatlah sebuah class baru dengan cara klik kanan pada project anda >  New > Java Class

4. Berinama class tersebut JComboboxListener. kemudian masukan script berikut :

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package autocompletecomboboxapp;

import java.awt.EventQueue;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JTextField;


/**
*
* @author Jin Toples
*/
public class JComboboxListener extends KeyAdapter {
JComboBox comboBox;
Vector list;

public JComboboxListener(JComboBox comboBox, Vector list){
this.comboBox = comboBox;
this.list = list;
}

@Override
public void keyTyped(final KeyEvent e){
EventQueue.invokeLater(new Runnable(){

@SuppressWarnings("unchecked")
@Override
public void run(){
String text = ((JTextField)e.getSource()).getText();
comboBox.setModel(new DefaultComboBoxModel(getFilteredList(text)));
comboBox.setSelectedIndex(-1);
((JTextField) comboBox.getEditor().getEditorComponent()).setText(text);
comboBox.showPopup();
}
});
}

public Vector getFilteredList(String text){
Vector listResult = new Vector();
for(int i=0; i < list.size(); i++){
if(list.get(i).toString().startsWith(text)){
listResult.add(list.get(i).toString());
}
}
return listResult;
}
}

Penjelasan :

Perhatikan pada method keyTyped(). Setiap kali kita mengetikan sebuah karakter di dalam ComboBox, maka akan tampil popup yang berisi list kata yang kita telah definisikan yang cocok dengan karakter tersebut.

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 autocompletecomboboxapp;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;

/**
*
* @author Jin Toples
*/
public class FormUtama extends JFrame {
String[] anime = {"Another","Angel Beats","Baka To Test", "Clanad","DXD", "Eroge H","Fairy Tail","Gulity Crown","Hataraku Mao-Sama","Infinite Stratos","Korewa Zombie Desuka","Magi","Naruto","One Piece","Princes Lover","Sakurasou","To Love Ru","Unbreakable Machine Doll","Yosuga No Sora","Zero No Tsukaima"};
Vector listAnime = new Vector();
JComboBox comboBox;


public FormUtama(){
super("Combobox Auto Complete Filter List");
initComponents();
}

public void initComponents(){
setVectorAnime();
comboBox = new JComboBox();
comboBox.setModel(new DefaultComboBoxModel(listAnime));
comboBox.setSelectedIndex(-1);
comboBox.setEditable(true);
JTextField textField = (JTextField) comboBox.getEditor().getEditorComponent();
textField.setFocusable(true);
textField.setText("");
textField.addKeyListener(new JComboboxListener(comboBox, listAnime));

getContentPane().add(comboBox, BorderLayout.NORTH);

setPreferredSize(new Dimension(300, 200));
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void setVectorAnime(){
for(int i=0; i < anime.length; i++){
listAnime.add(anime[i]);
}
}
}

7. Sekarang buka file AutocompleteCombobox.java. kemudian ketikan script berikut :

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package autocompletecomboboxapp;

/**
*
* @author Jin Toples
*/
public class AutocompleteComboboxApp {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new FormUtama();
}
}

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. coba anda ketikan sebuah karakter dalam aplikasi tersebut maka beberapa sugestion akan muncul, Aplikasi ini case sensitive jadi huruf besar dan kecil dibedakan, nah tugas anda selanjutnya adalah membuatnya menjadi tidak case sensitif.

Aplikasi Autocomplete Dengan Dropdown Java sekarang sudah selesai, baca juga tutorial membuat aplikasi java lainnya.
Share:

Tidak ada komentar:

Posting Komentar

Cari Blog Ini

Diberdayakan oleh Blogger.

Statemen Kendali / Kondisional If di C#

Statemen Kendali / Kondisional If di C#  -  C# mempunyai statemen kendali yang hampir sama dengan bahasa - bahasa pemrograman lainnya. Ter...

Label

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Label Cloud

AJAX (3) Blogging (4) C (13) C# (15) Codeigniter (5) CSS (18) Game Maker (12) Google Maps (21) HTML (46) Instaling (2) Java (12) Java Script (40) JQUERY (16) PHP (12)

Sample Text

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation test link ullamco laboris nisi ut aliquip ex ea commodo consequat.

Pages

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.