Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.help > #2292

Re: How to implement jcombobox with name value pair from database?

From Knute Johnson <nospam@knutejohnson.com>
Newsgroups comp.lang.java.help
Subject Re: How to implement jcombobox with name value pair from database?
Date 2012-11-29 12:55 -0800
Organization A noiseless patient Spider
Message-ID <k98i3b$bgi$1@dont-email.me> (permalink)
References <9b70426c-e378-4852-bc77-fc67440a93ef@googlegroups.com>

Show all headers | View raw


On 11/29/2012 9:14 AM, rogerdoger777 wrote:
> Hello,
>
> I have database values for name and employee id:
> John 123
> David 222
> Kevin 444
>
> In my app I have the employee id, and I need to update the jcombobox to make the person with employee id 222 the selected item.... HOW?
>
> mycombobox.setSeletedIndex(222) should return David, but instead it returns the 222nd array element in the pull down....
>
> Thanks for any and all help!
>

There are lots of ways to do this.  Here is one simple possibility.

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.text.*;

public class test extends JPanel {
     private final Vector<Employee> v = new Vector<>();
     private final Map<Integer,Employee> map = new HashMap<>();
     private final JComboBox<Employee> box;
     private final JTextField f;

     public test() {
         Employee bob = new Employee(12,"Bob");
         Employee jerry = new Employee(65,"Jerry");
         Employee jane = new Employee(70,"Jane");
         Employee sharon = new Employee(82,"Sharon");
         Employee anne = new Employee(23,"Anne");

         map.put(bob.getNumber(),bob);
         map.put(jerry.getNumber(),jerry);
         map.put(jane.getNumber(),jane);
         map.put(sharon.getNumber(),sharon);
         map.put(anne.getNumber(),anne);

         v.addAll(map.values());
         Collections.sort(v);

         box = new JComboBox<Employee>(v);
         add(box);

         f = new JTextField("",5);
         add(f);

         JButton b = new JButton("Find");
         b.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent ae) {
                 boolean found = false;
                 try {
                     int number = Integer.parseInt(f.getText().trim());
                     Employee emp = map.get(number);
                     if (emp == null)
                         JOptionPane.showMessageDialog(test.this,
                          "Employee Doesn't Exist",
                          "Error!",
                          JOptionPane.ERROR_MESSAGE);
                     box.setSelectedItem(emp);
                 } catch (NumberFormatException nfe) {
                     JOptionPane.showMessageDialog(test.this,nfe);
                 }
             }
         });
         add(b);
     }

     public class Employee implements Comparable {
         private int number;
         private String name;

         public Employee(int number, String name) {
             this.number = number;
             this.name = name;
         }

         public String getName() {
             return name;
         }

         public int getNumber() {
             return number;
         }

         public int compareTo(Object emp) {
             return getName().compareTo(((Employee)emp).getName());
         }

         public String toString() {
             return String.format("%s %d",getName(),getNumber());
         }
     }

     public static void main(String[] args) {
         EventQueue.invokeLater(new Runnable() {
             public void run() {
                 JFrame f = new JFrame("test");
                 f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                 test t = new test();
                 f.add(t,BorderLayout.CENTER);
                 f.pack();
                 f.setVisible(true);
             }
         });
     }
}


-- 

Knute Johnson

Back to comp.lang.java.help | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

How to implement jcombobox with name value pair from database? rogerdoger777 <kedward777@gmail.com> - 2012-11-29 09:14 -0800
  Re: How to implement jcombobox with name value pair from database? kedward777@gmail.com - 2012-11-29 11:21 -0800
    Re: How to implement jcombobox with name value pair from database? Roedy Green <see_website@mindprod.com.invalid> - 2012-12-04 18:08 -0800
  Re: How to implement jcombobox with name value pair from database? Knute Johnson <nospam@knutejohnson.com> - 2012-11-29 12:55 -0800
    Re: How to implement jcombobox with name value pair from database? Lew <lewbloch@gmail.com> - 2012-11-29 13:12 -0800
      Re: How to implement jcombobox with name value pair from database? Knute Johnson <nospam@knutejohnson.com> - 2012-11-29 15:05 -0800
        Re: How to implement jcombobox with name value pair from database? Lew <lewbloch@gmail.com> - 2012-11-29 16:08 -0800
  Re: How to implement jcombobox with name value pair from database? kedward777@gmail.com - 2012-11-29 13:17 -0800

csiph-web