Для выбора только определенных столбцов из нескольких столбцов для заданного значения в 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]]
Создайте пользовательское ListCellRenderer
и присвойте его JList
.
Это пользовательское ListCellRenderer
должно возвратиться JCheckbox
в implementantion getListCellRendererComponent(...)
метод.
, Но это JCheckbox
не будет доступно для редактирования, простая краска на экране, ваше дело выбирать, когда это JCheckbox
должно быть 'отмечено' или нет,
, Например, покажите, что он отсчитал, когда строка выбрана (параметр isSelected
), но этот способ, которым состояние проверки будет не сохраняться, если выбор изменится. Лучше для показа это проверило консалтинг с данными ниже эти ListModel
, но тогда ваше дело реализовывать метод, кто изменяет состояние проверки данных, и уведомьте изменение в JList
, чтобы быть перекрашенными.
я отправлю пример кода позже, если Вам будет нужен он
Я, вероятно, надеялся бы использовать JTable, а не JList и так как рендеринг по умолчанию флажка довольно ужасен, я, вероятно, надеялся бы заглядывать пользовательскому TableModel, CellRenderer и CellEditor для представления булева значения. Конечно, я предположил бы, что это уже было сделано огромное количество раз. Sun имеет хорошие примеры .
Разногласия являются хорошим w/Java, что кто-то уже реализовал виджет или утилиту, в которой Вы нуждаетесь. Часть преимуществ многочисленного сообщества OSS. Никакая потребность перестроить колесо, если Вы действительно не хотите сделать это сами. В этом случае это было бы хорошее упражнение изучения в CellRenderers и Редакторах.
Мой проект имел большой успех с JIDE. Компонент, который Вы хотите, Список Флажка, находится в Общем Слое JIDE (который является OSS и размещенный на java.net). Коммерческий материал хорош также, но Вам не нужен он.
http://www.jidesoft.com/products/oss.htm https://jide-oss.dev.java.net /
Замечательный ответ - это 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
, на который я ссылался.