Buenas a todos, ando un poco resignado y quería preguntarles lo siguiente, teniendo este código:
Código Java:
Ver originalpackage app.vista.util.combo.celdas;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
@Override
int index, boolean isSelected, boolean cellHasFocus) {
if (index % 2 == 0) {
colourColumn
(data,
Color.
LIGHT_GRAY); } else {
colourColumn
(data,
Color.
WHITE); }
if(isSelected){
colourColumn
(data,
Color.
PINK); }
return data;
}
ta.setBackground(xc);
ta.
setForeground(Color.
BLACK); }
data.setOpaque(true);
data.
setFont(new Font("DejaVu Sans",
Font.
BOLD,
12)); data.
setForeground(Color.
BLACK); data.setText("» " + displayData(value));
return data;
}
}
Código Java:
Ver originalpackage app.vista.util.combo.celdas;
import app.contr.clases.Servicio;
public class CeldaServicioCombo extends AbstractComboRenderer {
@Override
Servicio servicio = (Servicio) value;
return servicio.getNombre();
}
}
Código Java:
Ver originalpackage app.vista.util.combo.modelos;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;
public AbstractComboModel
(String xcriterio
) { this.criterio = xcriterio;
}
@Override
public void setSelectedItem
(Object anItem
) { if ((selection != null && !selection.equals(anItem))
|| selection == null && anItem != null) {
selection = anItem;
fireContentsChanged(this, -1, -1);
}
}
@Override
public Object getSelectedItem
() { return selection;
}
return criterio;
}
public void setCriterio
(String criterio
) { this.criterio = criterio;
}
}
Código Java:
Ver originalpackage app.vista.util.combo.modelos;
import app.contr.man.ServiciosContr;
import app.contr.clases.Servicio;
import java.util.ArrayList;
public class ModeloServicioCombo extends AbstractComboModel {
private ArrayList<Servicio> servicios;
public ModeloServicioCombo
(String xcriterio
) { super(xcriterio);
servicios = ServiciosContr.getInstance().findbySearch(xcriterio);
}
@Override
public int getSize() {
return servicios.size();
}
@Override
public Servicio getElementAt(int index) {
return servicios.get(index);
}
}
Código Java:
Ver originalpackage app.vista.interfaz;
import app.vista.util.combo.modelos.ModeloServicioCombo;
import app.vista.util.combo.celdas.CeldaServicioCombo;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.SwingUtilities;
public class probando
extends javax.
swing.
JFrame { public probando() {
initComponents();
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.setSelectedItem(criterio);
cboxprueba.showPopup();
} else {
cboxprueba.hidePopup();
}
}
@SuppressWarnings("unchecked")
// Variables declaration - do not modify
private javax.swing.JComboBox<String> cboxprueba;
private javax.
swing.
JPanel pnlpantalla
; // End of variables declaration
}
¿cómo puedo hacer para que al seleccionar opciones que me así?
|EMERGENCIA X| |MEDICINA X|
¿y que al seleccionar por ejemplo medicina se quedandome así?
|EMERGENCIA X|
Intenté basarme en el siguiente link pero estoy usando Apache Netbeans 11 y en el código lo crea todo a mano:
Select multiple JCheckBox in JComboBox
Espero sus respuestas y saludos.