Aggiunta di un'immagine a un JTooltip senza conoscere il percorso dell'immagine (a causa della immagine essendo un ressource temporaneo)

StackOverflow https://stackoverflow.com/questions/1658318

Domanda

Per essere un po 'più specifico: Ho costruito un semplice TCPServer multithreading (Java), che comunica con i client (C # / mono). Su richiesta, i Clienti prendere uno screenshot e inviarlo al server. Gli screenshot vengono poi visualizzati in una JTable. Mi piacerebbe aggiungere un tooltip a queste immagini nella tabella con la stessa immagine, ma in un altro formato. Il codice attualmente appare così:

screenLabel.setToolTipText("<html><img src=\"" + (new ImageIcon(image)) + "\"></img> Tooltip</html>");

Naturalmente, questo non funzionerà, come attributo src richiede un percorso. Il problema è che, non so come aggirare questo comportamento.
La mia domanda sarebbe quindi essere:
1) Come ritrovare un percorso valido per una risorsa temporanea (senza salvare la risorsa nel file-system)
O
2) Come fornire un costume JTooltip che permette facilmente le immagini / ImageIcons da visualizzare

È stato utile?

Soluzione

E 'possibile aggiungere un nuovo protocollo oltre alla standard FTP / http / etc all'URL risolvere che mappa poi nel proprio codice anziché attraverso la rete.

Ci sono tre approcci elencati http://www.unicon.net/node/776, che può aiutare a iniziare. Stavo pensando di estendere URLStreamHandler e la registrazione con la JVM.

Per quanto riguarda la modifica JToolTip, da http: //www.manning-sandbox. com / message.jspa? messageId = 9915

"Ricorda JToolTip è un contenitore, così, JToolTip sottoclasse di avere un JTextArea / riquadro riempirlo. Impostare la JTA / JTP come non modificabile e voilà avete un tooltip multilinea! Allo stesso modo è possibile visualizzare qualsiasi componente personalizzato che si desidera! "

Altri suggerimenti

Per l'opzione 2 è necessario:

a) creare un tooltip personalizzato
b) sostituire la tabella da utilizzare il suggerimento.

distacco fornisce un semplice esempio di lavoro.

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