Hi Forum,
stehe grad voll auf dem Schlauch.
Ich habe einen ComboRenderer, der mit von einem User den Vor- und Nachnamen in einer Combobox anzeigt:
In einer View habe ich folgende Bestandteile:
;
In der Variable users, sind in einem Vector alle User, die ich in ein Object[] hu lege und der ComboBox übergebe. Es werden alle Namen angezeigt, optimal.
Vom Controller oder sonst wo, kann ich auch problemlos die User-ID holen (da ich ja das ganze Object herkriege, die in der Combobox angeklickt wurde mit:
public String getProjectmanager() {
User tmp=(User)comboboxPM.getSelectedItem();
String userID=""+tmp.getUserid();
return userID;
}
Nun, stehe ich voll auf dem Schlauch, wie ich eine Methode schreiben kann, wo ich von außen ein User-Object oder sonst was übergebe/setze, was in der Combobox selected sein soll, also schon markiert.
Oder ich schreibe die Set-Methode so, dass er vom Vector wo alle User drin sind, alle User nochmal lädt, was ich ihm übergebe, aber dann muss er ja auch irgendwie ein User davon zeigen/selecten. Genau das, was ich selectet haben will. Durchzählen kann ich irgendwie nicht, da die User-Ids nicht von 1 anfangend und dann fortlaufend sind, da Lücken drin sind.
???:L
stehe grad voll auf dem Schlauch.
Ich habe einen ComboRenderer, der mit von einem User den Vor- und Nachnamen in einer Combobox anzeigt:
Code:
public class ComboRenderer extends JLabel implements ListCellRenderer {
/**
* Constructor.
*/
public ComboRenderer() {
setOpaque(true);
}
/**
* {@inheritDoc}
*/
public final Component getListCellRendererComponent(final JList list,
final Object value, final int index, final boolean isSelected,
final boolean cellHasFocus) {
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
String text = "";
if (value instanceof User) {
User user = (User) value;
text = user.getFirstname()+" "+user.getLastname();
}
setText(text);
return this;
}
}
In einer View habe ich folgende Bestandteile:
Code:
private javax.swing.JComboBox comboboxPM;
comboboxPM = new javax.swing.JComboBox()
ComboRenderer comboRenderer = new ComboRenderer();
comboboxPM.setName("comboboxPM");
int i=0;
Object[] hu=new Object[users.size()];
comboboxPM.setRenderer(comboRenderer);
while (i<users.size()) {
comboboxPM.addItem( (Object)users.elementAt(i));
i++;
}
In der Variable users, sind in einem Vector alle User, die ich in ein Object[] hu lege und der ComboBox übergebe. Es werden alle Namen angezeigt, optimal.
Vom Controller oder sonst wo, kann ich auch problemlos die User-ID holen (da ich ja das ganze Object herkriege, die in der Combobox angeklickt wurde mit:
public String getProjectmanager() {
User tmp=(User)comboboxPM.getSelectedItem();
String userID=""+tmp.getUserid();
return userID;
}
Nun, stehe ich voll auf dem Schlauch, wie ich eine Methode schreiben kann, wo ich von außen ein User-Object oder sonst was übergebe/setze, was in der Combobox selected sein soll, also schon markiert.
Oder ich schreibe die Set-Methode so, dass er vom Vector wo alle User drin sind, alle User nochmal lädt, was ich ihm übergebe, aber dann muss er ja auch irgendwie ein User davon zeigen/selecten. Genau das, was ich selectet haben will. Durchzählen kann ich irgendwie nicht, da die User-Ids nicht von 1 anfangend und dann fortlaufend sind, da Lücken drin sind.
???:L