Есть ли способ добавить динамически элементы типа JCheckBox
в Java, как в JComboBox
, мы используем метод addItem
?Динамически добавлять JCheckBoxes
ответ
Нечто подобное может быть эффективным, если вы хотите добавить несколько элементов к другому компоненту:
List<Component> myList = new Arraylist<Component>() //List for storage
Item myItem = new Item(); //New component
myList.add(myItem); //Store all the components to add in the list
for(int i = 0; i < myList.size; i++){
myjCheckBox.add(myList[i]); //Add all items from list to jCheckBox
}
В приведенном выше примере используется this метод, унаследованный в JCheckBox и должны быть в состоянии обеспечить то, что вам нужно
Надеюсь, поможет!
Есть ли способ учесть элементы, выбранные в JCheckbox? – alessandrob
Вы имеете в виду что-то вроде хранения элементов, выбранных из вашего JCheckBox, в список? – Levenal
Да, я хочу хранить элементы, выбранные в моем JCheckBox, и повторное использование в моей программе. – alessandrob
Примечание вы можете использовать фактические флажки для компонента рендеринга, но это было несколько строк короче.
import java.awt.*;
import javax.imageio.ImageIO;
import javax.swing.*;
class JCheckList {
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
JPanel gui = new JPanel(new BorderLayout());
JLabel l = new JLabel("Ctrl/shift click to select multiple");
gui.add(l, BorderLayout.PAGE_START);
JList<String> list = new JList<String>(
ImageIO.getReaderFileSuffixes());
list.setCellRenderer(new CheckListCellRenderer());
gui.add(list, BorderLayout.CENTER);
JOptionPane.showMessageDialog(null, gui);
}
};
// Swing GUIs should be created and updated on the EDT
// http://docs.oracle.com/javase/tutorial/uiswing/concurrency
SwingUtilities.invokeLater(r);
}
}
class CheckListCellRenderer extends DefaultListCellRenderer {
String checked = new String(Character.toChars(9745));
String unchecked = new String(Character.toChars(9746));
@Override
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
Component c = super.getListCellRendererComponent(
list,value,index,isSelected,cellHasFocus);
if (c instanceof JLabel) {
JLabel l = (JLabel)c;
String s = (isSelected ? checked : unchecked) + (String)value;
l.setText(s);
}
return c;
}
}
- 1. Как связать JcheckBoxes с JtextFields, когда они динамически генерируются?
- 2. Динамически добавлять радиокнопки
- 3. Динамически добавлять базовый класс?
- 4. динамически добавлять поля ввода
- 5. Akka.net динамически добавлять ребенка
- 6. Datagrid динамически добавлять данные
- 7. уголек динамически добавлять содержание
- 8. Динамически добавлять значения вместе
- 9. Как динамически добавлять double []?
- 10. Динамически добавлять столбцы таблицы?
- 11. необходимо динамически добавлять изображения
- 12. Как динамически добавлять компоненты
- 13. HighCharts Динамически добавлять флаги
- 14. Динамически добавлять столбцы сетки
- 15. Динамически добавлять ImageButtons
- 16. динамически добавлять атрибуты элементов
- 17. Динамически добавлять столбцы .rdlc
- 18. динамически добавлять/удалять атрибут
- 19. cherrypy динамически добавлять объекты
- 20. динамически добавлять таблицы html
- 21. Динамически добавлять субдомены?
- 22. Динамически добавлять элементы объекта
- 23. Динамически добавлять Редактировать текст
- 24. CarouFredSel динамически добавлять контент
- 25. fullcalendar динамически добавлять события
- 26. jQuery динамически добавлять строки
- 27. Как динамически добавлять UIView
- 28. Как динамически добавлять директиву?
- 29. Zenject динамически добавлять компонент
- 30. динамически добавлять прослушивателей событий
Почему вы хотите добавить "товар" в JCheckbox? –
Возможно, вы хотите добавить кнопки в группу кнопок? – kiheru
Что я хочу сделать, после того, как вы выбрали что-то в моей программе, сгенерируйте ряд других вариантов в зависимости от этого выбора, поэтому я подумал о jCheckList, потому что я хочу выбрать более одного варианта. – alessandrob