Создание флажков в приложении Java Swing - PullRequest
1 голос
/ 03 мая 2011

Я создаю это приложение для связи с сервлетом, отправляя выбранные модули, если есть какие-либо изменения, главный сервер модулей отправляет эти модули в виде карты с нулевыми значениями.С рабочего стола мне нужно получить данные с сервера только для выбранных единиц.Первоначально сервер отправляет все устройства и связанные данные в настольное приложение, после повторного выбора на рабочем столе нам необходимо подключиться к серверу для получения данных.Для этого мне нужно показать флажки с именами, которые есть на карте.

Как создать флажки в Java-приложении Swing с ключами карты в качестве их имен.Предположим изначально с сервера

Map<String, String> m1 = new HashMap<String, String>();    
    m1.put("091","091");
    m1.put("061","061");
    m1.put("001","001");
    m1.put("032","031");

После выбора в настольном приложении должно быть

Map<String, String> m1 = new HashMap<String, String>();    
        m1.put("091","091");
        m1.put("061",null);
        m1.put("001",null);
        m1.put("032","031");

С рез.Для пары ключ-значение на карте я хочу создать флажки, где ключ - это имя флажка, а значение - установить этот флажок.если ключ содержит значение (не ноль), то при создании этого флажка его следует выбрать.Карта будет изменяться динамически, и в JDialog должны быть добавлены флажки создания.В конце выбора мне нужно построить карту, и я хочу отправить это на сервер.Пожалуйста, помогите мне.

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Создайте массив JCheckBoxs, размер массива должен быть равен m1. Итерируйте над m1 и соответственно инициализируйте JCheckBoxes, например, если запись является текущей записью (в вашей итерации), cbArr - это массив флажков, и я инициализировал 0 до начала цикла :

cbArr[i] = new JCheckBox(entry.getKey());
if (entry.getValue() != null)
{
    cbArr[i].setSelected(true);
}
else
{
    cbArr[i].setSelected(false);
}
yourPanel.add(cbArr[i++]);

Это основной способ создания обновленной HashMap (для отправки на сервер) итерации по массиву флажков и вставки ключа в качестве текущего имени флажка и значения в зависимости от того, установлен флажок или нет.

Hash<String,String> m2 = new HashMap<String,String>();
for (int i = 0; i < cbArr.length; i++)
{
    m2.put(cbArr[i].getText(), cbArr[i].isSelected() ? cbArr[i].getText() : null);
}
1 голос
/ 03 мая 2011

Я всегда начинаю с примеров из учебника по Флажки .Если вы не это имеете в виду, можете отредактировать свой вопрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...