Buenas a todos, resulta que puedo seleccionar más de un elemento así:
Código Java:
Ver originalpackage app.vista.util.combo.modelos;
import app.contr.man.ServiciosContr;
import java.awt.Color;
import java.awt.Component;
import java.util.HashSet;
import javax.swing.JCheckBox;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
int t = ServiciosContr.getInstance().findAll(null).size();
public CheckRenderer() {
setOpaque(true);
for(int i = 0; i < t; i ++) {
}
}
@Override
int index, boolean isSelected, boolean cellHasFocus) {
if (index > -1) {
cbl[index].setText(value.toString());
cbl
[index
].
setBackground(isSelected
? Color.
green : Color.
white); cbl
[index
].
setForeground(isSelected
? Color.
white : Color.
black); if(cbl[index].isSelected()) {
getInstructionHashset().add(value);
} else {
getInstructionHashset().remove(value);
}
return cbl[index];
}
return cbl[0];
}
public HashSet getInstructionHashset
() { return instructionHashset;
}
}
Código Java:
Ver originalpackage app.vista.interfaz;
import app.vista.util.combo.modelos.ModeloServicioCombo;
import app.vista.util.combo.modelos.CheckRenderer;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.SwingUtilities;
public class probando
extends javax.
swing.
JFrame { public probando() {
initComponents();
@Override
int sel = cboxprueba.getSelectedIndex();
if (sel == 0) {
cboxprueba.getUI().setPopupVisible(cboxprueba, false);
} else if (sel > 0 && sel < cboxprueba.getModel().getSize()) {
((CheckRenderer)cboxprueba.getRenderer()).cbl[sel].setSelected(!((CheckRenderer)cboxprueba.getRenderer()).cbl[sel].isSelected());
}
}
});
cboxprueba.
getEditor().
getEditorComponent().
addKeyListener(new KeyAdapter() { @Override
String criterio
= cboxprueba.
getEditor().
getItem().
toString(); cargarServicios(criterio);
});
}
});
}
private void cargarServicios
(String criterio
){ ModeloServicioCombo modelo = new ModeloServicioCombo(
criterio.toUpperCase());
if(modelo.getSize() > 0){
cboxprueba.setModel(modelo);
//cboxprueba.setRenderer(new CeldaServicioCombo());
cboxprueba.setRenderer(new CheckRenderer());
cboxprueba.setSelectedItem(criterio);
cboxprueba.showPopup();
} else {
cboxprueba.hidePopup();
}
}
// Variables declaration - do not modify
private javax.swing.JComboBox<String> cboxprueba;
private javax.
swing.
JPanel pnlpantalla
; // End of variables declaration
}
Siempre y cuando no escribe en el combobox porque me borra las selecciones, además cuando filtro y selecciono lo del filtro no me permite seleccionar el 1ero, si el 2do.
Primero quiero lograr que ande bien las selecciones, para luego seguir con poner lo seleccionado en el jcombobox como dije al principio.
Espero sus respuestas y saludos.