Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe eine kleine frage. kann man einige Items einer JComboBox 'disabled' machen? (z.B einmal war ein item selektiert und darf nicht wiederholt werden, ich will dass dieser item wird nicht überhaupt angezeigt als ein wahl)
ist recht kompliziert, wenn du wirklich die items an sich deaktivieren willst. (naja, mehr oder weniger )
du musst im model des items speichern, ob das item aktiv ist oder nicht.
anschliessend schreibst du dir einen eigenen ListCellRenderer, welcher dir die anzeige übernimmt:
Code:
private class CellRenderer extends JLabel implements ListCellRenderer {
public TypeCellRenderer() {
setOpaque(true);
}
public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) {
MyItemModel model = (MyItemModel)value;
setText(model.getText());
setEnabled(model.isEnabled());
/* Farben: */
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
/* Rückgabe: */
return this;
}
}
jetzt werden die items zwar deaktiviert angezeigt. auswählen kannst du sie aber immernoch.
dies kannst du mit einem ActionListener unterbinden: