Как я составляю список с флажками в Java Swing?

Для выбора только определенных столбцов из нескольких столбцов для заданного значения в pandas:

select col_name1, col_name2 from table where column_name = some_value.

Опции:

df.loc[df['column_name'] == some_value][[col_name1, col_name2]]

или

df.query['column_name' == 'some_value'][[col_name1, col_name2]]
30
задан David 'mArm' Ansermot 4 May 2015 в 08:19
поделиться

4 ответа

Создайте пользовательское ListCellRenderer и присвойте его JList.

Это пользовательское ListCellRenderer должно возвратиться JCheckbox в implementantion getListCellRendererComponent(...) метод.

, Но это JCheckbox не будет доступно для редактирования, простая краска на экране, ваше дело выбирать, когда это JCheckbox должно быть 'отмечено' или нет,

, Например, покажите, что он отсчитал, когда строка выбрана (параметр isSelected), но этот способ, которым состояние проверки будет не сохраняться, если выбор изменится. Лучше для показа это проверило консалтинг с данными ниже эти ListModel, но тогда ваше дело реализовывать метод, кто изменяет состояние проверки данных, и уведомьте изменение в JList, чтобы быть перекрашенными.

я отправлю пример кода позже, если Вам будет нужен он

ListCellRenderer

16
ответ дан Xaerxess 27 November 2019 в 23:27
поделиться

Я, вероятно, надеялся бы использовать JTable, а не JList и так как рендеринг по умолчанию флажка довольно ужасен, я, вероятно, надеялся бы заглядывать пользовательскому TableModel, CellRenderer и CellEditor для представления булева значения. Конечно, я предположил бы, что это уже было сделано огромное количество раз. Sun имеет хорошие примеры .

11
ответ дан ninesided 27 November 2019 в 23:27
поделиться

Разногласия являются хорошим w/Java, что кто-то уже реализовал виджет или утилиту, в которой Вы нуждаетесь. Часть преимуществ многочисленного сообщества OSS. Никакая потребность перестроить колесо, если Вы действительно не хотите сделать это сами. В этом случае это было бы хорошее упражнение изучения в CellRenderers и Редакторах.

Мой проект имел большой успех с JIDE. Компонент, который Вы хотите, Список Флажка, находится в Общем Слое JIDE (который является OSS и размещенный на java.net). Коммерческий материал хорош также, но Вам не нужен он.

http://www.jidesoft.com/products/oss.htm https://jide-oss.dev.java.net /

3
ответ дан basszero 27 November 2019 в 23:27
поделиться

Замечательный ответ - это CheckBoxList . Он реализует ответ Телконтара (хотя и за 3 года до :).... Я использую его на Java 1.6 без проблем. Я также добавил метод addCheckbox вот так (конечно, он может быть короче, уже давно не использовал Java):

public void addCheckbox(JCheckBox checkBox) {
    ListModel currentList = this.getModel();
    JCheckBox[] newList = new JCheckBox[currentList.getSize() + 1];
    for (int i = 0; i < currentList.getSize(); i++) {
        newList[i] = (JCheckBox) currentList.getElementAt(i);
    }
    newList[newList.length - 1] = checkBox;
    setListData(newList);
}

Я попробовал демо для Jidesoft, поиграв с CheckBoxList, я столкнулся с некоторыми проблемами (поведением, которое не сработало). Я изменю этот ответ, если найду проблемы с CheckBoxList, на который я ссылался.

.
21
ответ дан 27 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: