如何清除jComboBox中的空格

时间:2018-11-12 19:35:42

标签: java swing jcombobox

我正在尝试制作一个包含书名的jComboBox,当我按下“借书”按钮时,该书不再显示。 我能够完成所有工作,但是当我“借书”时,书所在的位置有空白。 这是我尝试过的代码:

    private void cargarLibros()
    {
        String[] libros = new String[this.librosDisponibles()]; //librosDisponibles() returns the amount of books available
        for(int i=0; i<this.librosDisponibles(); i++)
        {
            if(!(this.getBiblioteca().getLibros().get(i).prestado()))
            {
                libros[i] = this.getBiblioteca().getLibros().get(i).getTitulo(); //get the titles
            }
        }
    jComboBox3.removeAll();
    DefaultComboBoxModel modelo = new DefaultComboBoxModel(libros);
    this.jComboBox3.setModel(modelo);
}

还要尝试一下:

    private void cargarLibros()
    {
        String[] libros = new String[this.librosDisponibles()];
        for(int i=0; i<this.librosDisponibles(); i++)
        {
            if(!(this.getBiblioteca().getLibros().get(i).prestado()))
            {
                libros[i] = this.getBiblioteca().getLibros().get(i).getTitulo();
            }
        }
        DefaultComboBoxModel modelo = (DefaultComboBoxModel)jComboBox3.getModel();
        modelo.removeAllElements();
        for(String libro : libros)
        {
            modelo.addElement(libro);
        }
        jComboBox3.setModel(modelo);
}

通过它们我都获得了以下结果:

Picking a book

Borrowed book

1 个答案:

答案 0 :(得分:0)

  

当我按下“借书”按钮时,该书不再显示。

您需要从组合框的模型中删除所选的项目。

因此组合框的ActionListener中的代码将类似于:

JComboBox comboBox = (JComboBox)e.getSource();
DefaultComboBoxModel model = (DefaultComboBoxModel)comboBox.getModel();
Object item = comboBox.getSelectedItem();
model.removeElement( item );