May 2008
M T W T F S S
« Apr   Jun »
 1234
567891011
12131415161718
19202122232425
262728293031  




JComboBox adatainak megjelenítése és a data binding

Ha valaki adatbázis alkalmazást készít java-ban, alapvet?, hogy a data bindinget fogja használni. Ha egy jcombobox-ra adatokat bindelünk, pl egy listát, amit el?z?leg feltöltöttünk egy query-vel, akkor a megjelenítéssel akadnak problémák.

A bindelés után következ?t kapjuk:

JcomboBox megjelenítés, hibásan

Hát ez nem éppen az amit látni szeretnénk, mivel nem túl informatív. A következ? képpen tudjuk orvosolni a problémát.

Módosítani kell a jcomboBox getListCellRendererComponent metódusát a következ? képpen:

jComboBox2.setRenderer(new DefaultListCellRenderer() {

  @Override
  public Component getListCellRendererComponent(JList list,
     Object value, int index, boolean isSelected,
     boolean cellHasFocus) {

   super.getListCellRendererComponent(list, value, index,
     isSelected,cellHasFocus);

   if (value instanceof <Entitás bean>) {
     <Entitás bean> mec = (<Entitás bean>)value;
     setText(mec.<getter metódus>);
   }
   return this;
  }
});

A kód egy kicsit magyarázatra szorul.

Az <Entitás bean> helyére kell behelyettesíteni annak az osztálynak a nevét amire bindeltük a comboboxunkat. A <getter metódus> pedig ennek az osztálynak – entitás bean-nek- egy getter metódusa, ami majd visszaadja azt az adatot -stringet – amit szeretnénk, hogy megjelenjen a combobox soraiban.

Netbeans-ben a következ?képpen lehet ezt a felülírást megoldani.

Jobb klikk a combobox-ra -> “customize code” menüpont kiválasztása -> ide írhatjuk a kódot

JComboBox custom code

Ha kész, lefordítva máris szenbet?n? a változás. Az el?bbi helyett valami ilyesmit látunk:

jcombobox jó megjelenés

24 May 2008 | Uncategorized | Comments

Comments:

You must be logged in to post a comment.