Domanda

Mi sto chiedendo quale componente sia il migliore per visualizzare risultati di ricerca veloci in swing. Voglio creare qualcosa del genere, creare un campo di testo in cui l'utente può inserire del testo, durante la sua immissione migliorerò la ricerca veloce sul back-end nel database e voglio mostrare i dati sotto la casella di testo, e sarà in grado per sfogliare i risultati e su pres inserire il risultato verrà visualizzato nella tabella. Quindi la mia domanda è: c'è qualche componente che ha già questa logica per la visualizzazione? O non lo è, qual è il modo migliore per implementarlo.

Questa ricerca sarà qualcosa che mi dà ajax sul web, stessa logica, lo stesso aspetto grafico, se possibile sull'applicazione desktop.

È stato utile?

Soluzione

Stai cercando qualcosa come un componente di completamento automatico per Java Swing?

SwingX ha un componente del genere. Vedi qui per JavaDoc. Ha molti metodi di utilità per fare varie cose, ad esempio il completamento automatico di una casella di testo dal contenuto di una JList.

Altri suggerimenti

Dovrai prima allegare un ascoltatore al Documento di JTextField per essere avvisato ogni volta che l'utente digita nel campo (o lo modifica).

Da lì, puoi attivare qualsiasi codice lato server di cui hai bisogno. I risultati possono essere utilizzati per aggiornare una casella di riepilogo.

Alcune cose da tenere a mente:

  1. Il codice per eseguire la ricerca nel backend deve trovarsi in un altro thread
  2. Il codice che aggiorna la casella di riepilogo dovrebbe aggiornare il modello della casella di riepilogo
  3. Dovrai gestire tutti i risultati della ricerca back-end in modo da aggiornare la casella di riepilogo solo con il risultato più recente (ad es. tipi di utente 'A', ricerche backenf per quello. Nel frattempo, l'utente ha digitato 'C', dando il via a un ricerca back-end per "AC". È necessario assicurarsi che i risultati di "A" non vengano inseriti nella casella di riepilogo se sono disponibili i risultati di ricerca "AC".

Consiglio vivamente di dare un'occhiata a Liste smaltate - questa è una delle più fini librerie Java open source là fuori, e rende la maggior parte di ciò che stai chiedendo su super facile.

Utilizza la ricerca ibernazione.

Il libro SwingHack ( http://oreilly.com/catalog/9780596009076/ ) ha un esempio di questo.

Nell'interesse di uccidere due uccelli con una fava: avere un filo di indicizzazione separato. Questo sarà:

  1. Migliora la velocità delle ricerche ogni volta che vengono eseguite.
  2. Migliora la reattività dell'interfaccia utente poiché l'indicizzazione avviene in un thread separato.

Naturalmente, esattamente il modo in cui esegui l'indicizzazione varierà ampiamente a seconda della tua particolare applicazione. Ecco un buon posto per iniziare la ricerca: Indicizzazione della ricerca . E per favore, ignora il riferimento a Web 3.0 [sic].

Ovviamente è possibile. È anche semplice. Per l'elenco a discesa dei termini basta usare il menu a comparsa. Questo è semplice Anche l'elaborazione in background del testo inserito è semplice. Buon divertimento!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top