Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23

Живой поиск

21.01.2014, 11:41. Показов 4970. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, мне надо сделать что то типа живого поиска как у google например, начинаешь вводить текст и появляются варианты, яб обошелся list View да записей там штук 200, и каждый раз в груде искать как то вариант, подскажите в какую сторону копать? Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2014, 11:41
Ответы с готовыми решениями:

Живой поиск
Всем привет!:) Вообщем проблема с которой сталкнулся весьма специфична для меня и нужна помощь более опытных людей есть база, к примеру ...

Живой поиск в таблице
Здравствуйте хотел сделать поиск но не получается подправьте пожалуйста код и куда его писать , в KeyPressed или...

Живой поиск
Есть 2 поля ввода: <input type="text" size="20" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" /> <input...

5
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
21.01.2014, 16:49
WolfbertFX, посоветую пока глянуть вот этот сайт, раздел строки. Сейчас что-нибудь придумаю и постараюсь помочь
1
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23
21.01.2014, 17:24  [ТС]
Чот сложно там))) я уже грубо говоря сделал связку TextField + ContextMenu, кривовато конечно, но уже что то, при каждом изменении поля TextField срабатывает On Key Released-метод а там я поднимаю что то типа contextMenu.show(pane, Side.TOP,pane.getScaleX(),pane.getScaleY ()); и вродь как смотрится, куча проблем появилось конечно, но пока решаемые)))
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
21.01.2014, 17:42
WolfbertFX, просто если хотите скорости и если данных много, то стоит уже задуматься о каком-нибудь алгоритме, а если нет, то вот так сойдет:
Главный класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.sevak_avet;
 
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Group;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
 
public class FX_ListSearch extends Application {
    
    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("view.fxml"));
        Scene scene = new Scene(root);
        
        stage.setScene(scene);
        stage.show();
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}
Вью:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?>
 
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
 
<AnchorPane prefHeight="354.9609375" prefWidth="422.0"
    xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="com.sevak_avet.Controller">
    <children>
        <TextField fx:id="searchField" layoutX="14.0" layoutY="14.0"
            prefWidth="394.0" />
        <TextArea fx:id="searchResult" disable="false" editable="false"
            layoutX="14.0" layoutY="45.0" prefHeight="296.0" prefWidth="394.0"
            wrapText="true" />
    </children>
</AnchorPane>
Контроллер:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.sevak_avet;
 
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.ResourceBundle;
 
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
 
public class Controller implements Initializable {
    @FXML
    TextField searchField;
    @FXML
    TextArea searchResult;
    
    private static final List<String> words = Arrays.asList("мешает", "заеду", "изменчивого", "вполне", "красноносый", "степенные", "заглянул", "беда");
    
    @Override
    public void initialize(URL location, ResourceBundle resources) {
        searchField.textProperty().addListener(new ChangeListener<String>() {
            @Override
            public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
                List<String> res = search(newValue);
                
                searchResult.clear();
                for(String s : res) {
                    searchResult.appendText(s);
                    searchResult.appendText("\n");
                }
            }
        });
    }
    
    private static List<String> search(String text) {
        List<String> res = new ArrayList<>();
        
        for(String s : words) {
            if(s.startsWith(text)) {
                res.add(s);
            }
        }
        
        return res;
    }
 
}
1
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23
21.01.2014, 17:47  [ТС]
А сайт то хорош))) Спасибо!)
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
21.01.2014, 17:49
WolfbertFX, а то, много интересного можете почерпнуть оттуда
мне кажется вот то, что вам нужно (на случай больших данных / появится желание реализовать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2014, 17:49
Помогаю со студенческими работами здесь

Живой поиск
Доброго времени суток! Делаю себе на сайт живой поиск ... всё работает хорошо, НО столкнулся с такой проблемой что пока запрос...

Живой поиск
Сделал живой поиск на сайте. По событию onkeyup выскакивают попытки угадать запрос. По событию onblur варианты скрываются. Обработчик...

Живой поиск
$result = mysql_query(&quot;SELECT `text` FROM `livesearch` WHERE MATCH(`text`) AGAINST('&quot;.$search.&quot;')&quot;); echo mysql_num_rows($result); ...

Живой поиск
Почему не выводит ячейку из массива, если введённое значение совпадает? Может я не правильно написал регулярное выражение? Я больше не...

Живой поиск
Здравствуйте, помогите разобраться, делаю живой поиск, при любом вводе данных, есть ли они в бд или нет, скрипт выводит есть такой юзер,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru