Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-11-2014, 11:49   #1
tagan
Member
 
Iscritto dal: Apr 2008
Messaggi: 60
[JAVA] combobox con 2 valori

ciao a tutti.
rieccomi con un nuovo problema.
Volevo chiedervi se è possibile caricare nella JComboBox 2 valori di cui solo 1 visibile in lista. Mi spiego meglio: ho delle coppie di valori (ID e Descrizione). voglio visualizzare nella combo la Descrizione, ma utilizzare l'ID una volta selezionato il valore della combo.

in VB6 basta scrivere
Codice:
Combo1.AddItem RecordSet("Descrizione")
Combo1.ItemData(Combo1.NewIndex) = RecordSet("ID")

e in lettura

.... = Combo1.List(Combo1.ListIndex) 'ho la descrizione
...= Combo1.ItemData(Combo1.ListIndex) 'ho la chiave unica
è possibile la stessa cosa in Java.
In alternativa come posso fare?

pensavo di caricare un array a 2 dimesioni, tipo:
Codice:
String[][] mod = {{"1","tipo1"},{"2","tipo2"},{"2","tipo3"}};
DefaultComboBoxModel cmbModel=new DefaultComboBoxModel();
cmbModel.addElement(mod[0][1]);
cmbModel.addElement(mod[1][1]);
cmbModel.addElement(mod[2][1]); //cosi carico la stringa "tipo3" ma mi rimane fuori l'ID

// cmbModel.addElement(mod[0]); //cosi carico il reference visualizzando String@123456

cmbTest.setModel(cmbModel);
voi come avete risolto?
grazie, tagan
tagan è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2014, 14:45   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Crei una classe che contenga i tuoi valori (anche unnamed).
La toString() di quella classe riporta il valore che vuoi visualizzare
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2014, 15:27   #3
tagan
Member
 
Iscritto dal: Apr 2008
Messaggi: 60
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Crei una classe che contenga i tuoi valori (anche unnamed).
La toString() di quella classe riporta il valore che vuoi visualizzare
non ho capito!
intendi una cosa del genere?

Codice:
class MioDato{
    public int ID;
    public String Descrizione;
        
    public String toString(){
        return ID+"-"+Descrizione;
    }
}
ma se faccio cosi, sul valore della combobox, mi include anche il campo che non voglio visualizzare.
Codice:
MioDato md = new MioDato();
md.ID=1; md.Descrizione="Testo1";
cb.addItem(md);
md = new MioDato();
md.ID=2; md.Descrizione="Testo2";
cb.addItem(md);
md = new MioDato();
md.ID=3; md.Descrizione="Testo3";
cb.addItem(md);
in questo modo, nella combo ho :
1-testo1
2-testo2
3-testo3.

invece io voglio solo visualizzare il testo, ma alla selezione, mi deve restituire l'ID associato al testo.
tagan è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2014, 15:35   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da tagan Guarda i messaggi
non ho capito!
intendi una cosa del genere?

Codice:
class MioDato{
    public int ID;
    public String Descrizione;
        
    public String toString(){
        return ID+"-"+Descrizione;
    }
}
ma se faccio cosi, sul valore della combobox, mi include anche il campo che non voglio visualizzare.
Allora non metterlo nella toString(), no? Se vuoi visualizzare solo la descrizione, fai
Codice:
@Override
public String toString()
{
    return descrizione;
}
(descrizione deve cominciare con una minuscola).

Alla selezione, ti fai dare l'indice con getSelectedIndex(); visto che poi hai il modello (lo puoi ottenere con
Codice:
     DefaultComboBoxModel model = (DefaultComboBoxModel)cmd.getModel();
), puoi ottenere l'oggetto di tipo MioDato e farci quello che vuoi.
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2014, 15:54   #5
tagan
Member
 
Iscritto dal: Apr 2008
Messaggi: 60
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Alla selezione, ti fai dare l'indice con getSelectedIndex(); visto che poi hai il modello (lo puoi ottenere con
Codice:
     DefaultComboBoxModel model = (DefaultComboBoxModel)cmd.getModel();
), puoi ottenere l'oggetto di tipo MioDato e farci quello che vuoi.
grazie.
il codice per prelevare il valore dalla combo è questo:
Codice:
DefaultComboBoxModel model = (DefaultComboBoxModel)cb.getModel();
MioDato md = (MioDato)model.getSelectedItem();
perché bisogna usare "DefaultComboBoxModel", non è possibile ricavare l'oggetto "MioDato" direttamente dalla ComboBox?
tagan è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2014, 16:03   #6
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da tagan Guarda i messaggi
grazie.
il codice per prelevare il valore dalla combo è questo:
Codice:
DefaultComboBoxModel model = (DefaultComboBoxModel)cb.getModel();
MioDato md = (MioDato)model.getSelectedItem();
perché bisogna usare "DefaultComboBoxModel", non è possibile ricavare l'oggetto "MioDato" direttamente dalla ComboBox?
Scusa, hai ragione. Sono ancora mezzo addormentato
Puoi prelevare il valore direttamente con getSelectedItem()
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Ex CEO di Intel furioso verso Wall Stree...
Un foglietto di rame e le prestazioni di...
100 agenti AI per dipendente: quello che...
Le 10 migliori offerte del weekend Amazo...
75'' e 85'' QD-Mini LED: 2 TV interessan...
Offerte Amazon sui componenti hardware P...
iOS 27 porterà tante novità...
Tutte le migliori offerte sui robot aspi...
Attenti ai Samsung 990 Pro contraffatti,...
2 prezzi eccezionali: scope elettriche l...
Crimson Desert arriva anche su Switch 2?...
2 iPhone in offerta su Amazon: il 17 256...
Il dodicesimo lancio del razzo spaziale ...
Blue Origin sta assemblando il secondo l...
Meta moltiplica gli investimenti in data...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v