Şimdi Ara

Java'da arama sonuçlarını buton olarak yazdırmak istiyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
1
Cevap
0
Favori
90
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba,

    arkadaşlar programımda butonsuz arama kullanmak istiyorum. Aramaları da veritabanındaki veriler ile karşılaştırıyorum. Bir arkadaş bunun için bir kod yazdı. Ama sonuçlar konsole yazdırılıyor. Ben buton olarak gösterilmesini istiyorum ve birazda kodları açıklamanızı.

    private static final Object arkadasAramaLock = new Object();

    aramat.getDocument().addDocumentListener(new DocumentListener() {
    @Override
    public void insertUpdate(DocumentEvent e) {
    asyncSearch(aramat,arkadaslar); // yeni harf yazildiginda
    }

    @Override
    public void removeUpdate(DocumentEvent e) {
    asyncSearch(aramat,arkadaslar); // yazilan harf silindiginde
    }

    @Override
    public void changedUpdate(DocumentEvent e) {
    asyncSearch(aramat,arkadaslar); // var olan harf degistiginde
    }
    });

    private static void asyncSearch(final JTextField aramat, final List<String> arkadaslar) {
    new Thread(new Runnable() {
    @Override
    public void run() {
    String searchKey = aramat.getText();
    searchForKey(searchKey, arkadaslar);
    }
    }).start(); // GUI Threadini yormamak icin yeni thread ile search yapiyoruz.
    }

    private static void searchForKey(String searchKey, List<String> arkadasList) {
    synchronized (arkadasAramaLock) {
    for (String arkadas : arkadasList) {
    if (arkadas.contains(searchKey)) {
    //Arama ile eslesiyor
    System.out.println(arkadas);

    }

    }
    }
    }

    private static List<String> getArkadasList() {
    Connection con;
    ResultSet rs;
    Statement st;
    try {
    List<String> retval = new ArrayList<>();
    con = DriverManager.getConnection("jdbc:mysql://localhost/mysql", "root", DB_PW);
    st = con.createStatement();
    rs = st.executeQuery("SELECT * from mesaj.arkadas");

    while (rs.next()) {
    retval.add(rs.getString("arkadasad"));

    /*yMargin2 += 35;

    deneme2 = new JButton();
    deneme2.setBounds(25 * 10, 30 + yMargin2, 75, 25);
    deneme2.setVisible(true);
    mesaj.add(deneme2); */

    }
    rs.close();
    st.close();
    con.close();
    return retval;
    } catch (Throwable t) {
    t.printStackTrace();
    return Collections.emptyList();
    }


    Bunu nasıl yapabilirim?

    Yardımınıza ihtiyacım var.







  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.