Beranda > Java Programming > Membuat Aplikasi Search Dengan Java

Membuat Aplikasi Search Dengan Java

/*
* Program : Searching File
* Author : Eko Kurniawan Khannedy
* Contact : echo_khannedy@yahoo.co.id
*/public class FindFiles extends javax.swing.JFrame{

private javax.swing.JFileChooser browse;
private javax.swing.JButton browse_btn, search_btn, reset_btn;
private javax.swing.JTextField browse_text, search_text;
private javax.swing.JTextArea area_search;
private javax.swing.JScrollPane pane_area;
private PanelFind panel;
private java.util.concurrent.ExecutorService tread;

private java.io.File dir;
private String keyword;
private RunFind findNow;

public FindFiles(){
super(“FindFiles”);

browse = new javax.swing.JFileChooser(“.”);
browse.setAcceptAllFileFilterUsed(false);
browse.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY);

browse_btn = new javax.swing.JButton(“Browse”);
browse_btn.addActionListener(new Aksi() );
search_btn = new javax.swing.JButton(“Search”);
search_btn.addActionListener(new Aksi() );
reset_btn = new javax.swing.JButton(“Reset”);
reset_btn.addActionListener(new Aksi() );

browse_text = new javax.swing.JTextField();
browse_text.setForeground(java.awt.Color.BLACK);
browse_text.setEnabled(false);
search_text = new javax.swing.JTextField();

area_search = new javax.swing.JTextArea();
area_search.setEditable(false);
pane_area = new javax.swing.JScrollPane(area_search);
tread = java.util.concurrent.Executors.newCachedThreadPool();

panel = new PanelFind(this);
add(panel);

setLocation(200,200);
pack();

setResizable(false);
setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
}

public void browse(){
int valid = browse.showOpenDialog(this);
if(valid == javax.swing.JFileChooser.APPROVE_OPTION){
dir = browse.getSelectedFile();
browse_text.setText(dir.getPath());
}else{
return ;
}
}

public void search(){
keyword = search_text.getText();
area_search.setText(“”);
if(keyword.length()<1){
return ;
}else if(dir == null){
return ;
}else{
findNow = new RunFind(this);
java.util.concurrent.ExecutorService ex = java.util.concurrent.Executors.newCachedThreadPool();
ex.submit(findNow);
ex.shutdown();
}
}

public void reset(){
keyword = “”;
dir = null;
search_text.setText(“”);
browse_text.setText(“”);
area_search.setText(“”);
}

public static void main (String[] args) {
FindFiles baru = new FindFiles();
baru.setVisible(true);
}

private class Aksi implements java.awt.event.ActionListener{

public void actionPerformed(java.awt.event.ActionEvent event){
String command = event.getActionCommand();
if(command.equals(“Browse”)){
browse();
}else if(command.equals(“Reset”)){
reset();
}else if(command.equals(“Search”)){
search();
}
}

}

private class PanelFind extends javax.swing.JPanel{

private javax.swing.JFrame parent;
private java.awt.GridBagLayout layout;
private java.awt.GridBagConstraints constrait;

public PanelFind(javax.swing.JFrame parent){

this.parent = parent;
layout = new java.awt.GridBagLayout();
constrait = new java.awt.GridBagConstraints();
constrait.insets = new java.awt.Insets(5,5,5,5);
constrait.fill = java.awt.GridBagConstraints.BOTH;

setLayout(layout);
addComp(browse_text,0,0,2,1,0,0);
addComp(browse_btn,2,0,1,1,0,0);
addComp(search_text,0,1,1,1,200,0);
addComp(reset_btn,1,1,1,1,0,0);
addComp(search_btn,2,1,1,1,0,0);
addComp(pane_area,0,2,3,1,0,400);

}

public void addComp(javax.swing.JComponent comp, int kolom, int baris, int lebar, int tinggi, int lebarmanual, int tinggimanual){
constrait.gridx = kolom;
constrait.gridy = baris;
constrait.gridwidth = lebar;
constrait.gridheight = tinggi;
constrait.ipadx = lebarmanual;
constrait.ipady = tinggimanual;
layout.setConstraints(comp, constrait);
add(comp);
}

}

private class RunFind implements Runnable{

private String key;
private int count;
private FindFiles parent;

public RunFind(FindFiles parent){
this.key = keyword.startsWith(“.”) ? keyword : “.”+keyword;
this.count = 0;
this.parent = parent;
}

public synchronized void AddFiletoArea(java.io.File folder){
if(folder.isDirectory()){
java.io.File[] files = folder.listFiles();
for(java.io.File i : files){
AddFiletoArea(i);
try{
Thread.sleep(1);
}catch(InterruptedException e){
}
}
}else{
if(folder.getName().toUpperCase().endsWith(key.toUpperCase())){
area_search.append(folder.getPath()+”n”);
count += 1;
}
}
}

public void run(){
parent.setEnabled(false);
java.io.File[] files = dir.listFiles();
for(java.io.File i : files){
AddFiletoArea(i);
try{
Thread.sleep(1);
}catch(InterruptedException e){
}
}
area_search.append(“—-FINISH—-n”);
area_search.append(“There Are “+count+” Files Found”);
parent.setEnabled(true);
}
}

}

  1. 24 Desember 2008 pukul 19:41 | #1

    bagus mas.
    yang laen dunk…
    :)

  2. Adi
    27 Desember 2008 pukul 20:23 | #2

    Fuuuuiiiiih,
    keren mas.
    cooooool.
    bs buat reference TA quw.
    boleh kan mas???

  3. 27 Desember 2008 pukul 20:57 | #3

    yo, silahkan

    • didit
      25 Mei 2009 pukul 23:13 | #4

      mas aQ ne msh awam banget tp pengen ngerti ttg java n bwt app java kayak mas,
      misalnya aQ tar TA aq minta bantuan m,as yaw….
      ok???
      aQ mw bwt app tentang cara mentransfer apapun lwt device bluetooth ok mas…
      tu dulu selebiihnya tlg tar aq d bantu yah…
      bls lwt e-mail aQ yah mass…

    • didit
      25 Mei 2009 pukul 23:14 | #5

      mas baik banget yah, e-mailnya mas apa??

  4. try
    12 Januari 2009 pukul 07:15 | #6

    numpang nanya mas, saya guru kimia, sy lagi mempelajari netbeans mobile untuk membuat aplikasi pembelajaran di hp. mohon bantuan untuk tutorial search n find text atau cara bikin kamus dengan netbean 6.5. tolong kirim lewat email. terima kasih

  5. 17 Januari 2009 pukul 15:05 | #7

    mas bantuin cariin judul TA dunk…
    aplikasi hp pake program java…
    mhon bantuan ya bwt tambahan referensi…
    thanks yach..
    ^-^

  6. 18 Januari 2009 pukul 00:14 | #8

    hmm judul TA y?
    kalo soal hp kenapa gak bikin penunjuk arrah aja?
    keren kan?

  7. mr. sky
    24 Januari 2009 pukul 11:26 | #9

    1 x lg mksh y…. smoga ilmu mr. echo…. trus berkembang….biar bsa ngajarin kta2..ok

  8. 29 Januari 2009 pukul 12:57 | #10

    Weiss……. keren… sy mau nyoba buat ah….!!!

  9. Q-cube
    30 Januari 2009 pukul 02:58 | #11

    mas echo…………………..
    he he he….. kayaknya ucapan makasih aja ga ckup Q ucapi buat mas.
    lantaran tulisan-tulisan mas usaha Q untuk belajar java menjadi jauh lebih ringa
    He he he …
    mas q masih binggung dengan speech recongnitionya java. error terus waktu Q coba.
    bisa tolong bantuin g,,,,,,,,,,
    pli………………….s
    Q.cubee@gmail.com
    makasih

  10. kusandriadi27
    11 Februari 2009 pukul 20:10 | #12

    mantaaaaaaaaaap,,mau bikin OS mini ntar pas TA…cocok buat nambah referensi..

    boleh ya mas?

    ijin bookmark..makasih berat!!!!

  11. ninan
    15 Februari 2009 pukul 15:37 | #13

    oh kayak google desktop y ini?

  12. t121hy
    17 Februari 2009 pukul 12:37 | #14

    saya guru kimia, ingin coba buat aplikasi kamus kimia. saya dah coba cari2 n yg paling mudah pake netbeans.
    tolong tutorial aplikasi kamus sederhana dengan find text

  13. rhya
    5 Maret 2009 pukul 11:25 | #15

    aQ bNun Nech mw bUat apLiksi Ap bwt PI aq????
    mCh bNun?????????

    kra2 java ssh nda C yaH????

    pLizzz bantu dOnk????

    • junior
      2 Juli 2009 pukul 10:40 | #16

      berani memulai dong…
      jangan nanya susah dolo………

  14. 23 Juni 2009 pukul 15:23 | #17

    kalau ada yang kamus dunk mas

  15. junior
    2 Juli 2009 pukul 10:38 | #18

    kasih contoh “search” yang bisa mencari suatu field dalam table dan ditampilin di tableModel.
    itu baru serruuu.

    • 6 Juli 2009 pukul 01:04 | #19

      bukannya di blog ini ada tutorial itu
      coba search dulu baru ngomong :P

  16. kampus
    5 Juli 2009 pukul 11:32 | #20

    Wah…mantap…
    Oh yach….itu program buat pake apa….apa IDE yg visual spt Netbeans,Eclipse atau sejenis Jcreator / notepad….

    • 6 Juli 2009 pukul 01:07 | #21

      JCreator

  17. andro
    4 September 2009 pukul 20:29 | #22

    mas sya mau bwt TA ttg aplks kmus istlah kmptr utk Handphone pke netbeans 6.0 tp saya bngung bs bntu ngak???

  1. 5 April 2009 pukul 03:25 | #1
  2. 26 Mei 2009 pukul 15:33 | #2