Witam wszystkich :) (pierwszy post na tym forum)
Mam problem z wczytaniem pól do jComboBox, chodzi mi o to by móc wczytać "id" i "nazwe wyświetlaną". Jak wczytam same nazwy pól wyświetlanych to będą ponumerowane po kolei od zera (przez xxx.getSelectedIndex() ).
Znalazłęm wstępne rozwiązanie http://www.coderanch.com/t/342430/GUI/java/Same-value-JComboBox ale mam dalej problem z tworzeniem obiektów w tablicy.
public class Vendor
{
String vendorName;
String vendorID;
public Vendor(String vn, String vi){vendorName = vn; vendorID = vi;}
public String toString(){return vendorName;}
}
Vendor[] xxx;
private void DajDane(){
String sql = "SELECT * FROM kategorie";
Baza baza = new Baza();
ArrayList<HashMap<String,String>> wynik = baza.queryToArray(sql);
HashMap<String,String> wiersz;
int ile = wynik.size();
this.xxx = new Vendor[ile];
for(int i = 0; i < wynik.size(); i++){
wiersz = wynik.get(i);
xxx[i] = new Vendor(wiersz.get("kategoria"), wiersz.get("id"));
}
}
private javax.swing.JComboBox jComboBox1 = new javax.swing.JComboBox(xxx);
I po odpaleniu:
run:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.DefaultComboBoxModel.<init>(DefaultComboBoxModel.java:53)
at javax.swing.JComboBox.<init>(JComboBox.java:175)
at komis.DodajKategorie.initComponents(DodajKategorie.java:116)
at komis.DodajKategorie.<init>(DodajKategorie.java:30)
at komis.MainKomis.jMenuItemKategorieActionPerformed(MainKomis.java:145)
at komis.MainKomis.access$400(MainKomis.java:18)
at komis.MainKomis$5.actionPerformed(MainKomis.java:85)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
A więc kto pomoże ?:)