Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.help > #2292
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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