Pregunta

Soy consciente de JList y JComboBox. Necesito la caída de cuadro combinado abajo funcionalidad con la funcionalidad de selección múltiple que proporciona JList.

Esto se debe a que el contenido de la lista son demasiado grandes para ser visualizado mediante una simple lista. También necesito para seleccionar varios elementos, de lo contrario habría contentado con JComboBox.

¿Alguna sugerencia?

¿Fue útil?

Solución

Cuando se utilizan múltiples selecciona, es mejor utilizar una lista de un cuadro combinado. Como metáforas GUI van, la gente espera un cuadro combinado sea de selección única, mientras que las listas pueden ser tanto.

  

el contenido de la lista son demasiado grandes para ser visualizado mediante una simple lista

Coloque el JList en un JScrollPane. Puede llamar setVisibleRowCount (int) en el JList para especificar cómo se deben mostrar muchas filas a la vez.

Otros consejos

Se puede hacer un procesador de celdas personalizado para el cuadro combinado y añadir casillas de verificación para que los componentes, por lo que puede marcar y desmarcar ellos. Tienes que hacer algo como esto:

public class MyComboBoxRenderer implements ListCellRenderer {

    private String[] items;
    private boolean[] selected;

    public MyComboBoxRenderer(String[] items){
         this.items = items;
         this.selected = new boolean[items.lenght];
    }

    public Component getListCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int index) {
         // Create here a JLabel with the text
         // Create here a JCheckBox
         // Add them to a layoutmanager
         return this;
    }

    public void setSelected(int i, boolean flag)
    {
         this.selected[i] = flag;
    }

}

Si los datos tienen un carácter jerárquico, considere componente Outline NetBeans', discutido en al anunciar la nueva oscilación Tabla árbol y en este respuesta . Aquí está la Versión actual Desarrollo de la API.

Para lograr la funcionalidad descrita, finalmente decidió "abuso" del JMenuBar y añadir a varias JCheckBoxMenuItems. La interfaz gráfica de usuario a continuación, se ajusta perfectamente al propósito (al menos para mí), es sólo el manejo de la ItemEvent que los riesgos para convertirse en un poco molesto.

(finalmente allí, define una lógica bit a través de los artículos, y luego puede restringir a mí mismo para el manejo de sólo un tipo de evento)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top