Нам сказали, что у вас есть 10 флажков, и пользователю разрешено только установить флажки 1-3. После того, как пользователь нажимает кнопку, указывающую, что он выполнил требования, и после того, как компьютер случайно выбирает флажок. Оставшийся флажок будет рассмотрен в качестве победителя. Кстати, это игровая программа.
Я использую Swing и AWT.Как я могу установить флажок?
ответ
Вы можете ограничить флажок имеет возможность выбора или не отключив компонента:
JCheckBox checkBox = new JCheckBox("Try to click on me");
checkBox.setEnabled(false);
Если флажок не включен (выключен), пользователь не может выбрать его.
Если я правильно понял, вы хотите ограничить количество флажков, которые пользователь может щелкнуть во время своего хода. У вас может быть счетчик, который сообщает вам количество флажков, которые пользователь нажал до сих пор. Когда счетчик достигнет 1, кнопка активируется, и пользователь сможет щелкнуть ее. Когда счетчик достигнет 3, все остальные флажки будут деактивированы. Если пользователь хочет изменить флажки, которые он выбрал, тогда он должен будет снять отметку с любого из уже отмеченных.
Код будет выглядеть примерно так:
onCheckboxSelected()
{
if(numberOfCheckedButtons == 1)
{
activateButton();
}
else if(numberOfCheckedButtons == 3):
{
deactivateAllCheckBoxes();
}
}
onCheckboxUnselected()
{
if(numberOfCheckedButtons == 0)
{
deactivateButton();
}
else if (numberOfCheckedButtons == 2) //This is the case when the user passes from 3 selected checkboxes to 2
{
activateAllCheckboxes();
}
}
запретить пользователю выбрать дополнительные флажки, отслеживая каждый флажок, который выбран в данный момент:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class CheckBoxGroup
{
private Set<GroupButtonModel> models = new HashSet<GroupButtonModel>();
private int groupSize;
public CheckBoxGroup(int groupSize)
{
this.groupSize = groupSize;
}
public void register(JCheckBox checkBox)
{
ButtonModel groupModel = new GroupButtonModel();
groupModel.setSelected (checkBox.getModel().isSelected());
checkBox.setModel(groupModel);
}
private class GroupButtonModel extends JToggleButton.ToggleButtonModel
{
@Override
public void setSelected(boolean selected)
{
if (!selected)
{
models.remove(this);
super.setSelected(selected);
return;
}
// Check number of currently selected check boxes
if (models.size() == groupSize)
{
System.out.println("Only " + groupSize + " items can be selected");
}
else
{
models.add(this);
super.setSelected(selected);
}
}
}
private static void createAndShowGUI()
{
JPanel panel = new JPanel();
CheckBoxGroup group = new CheckBoxGroup(3);
for (int i = 0; i < 10; i++)
{
JCheckBox checkBox = new JCheckBox(String.valueOf(i));
panel.add(checkBox);
group.register(checkBox);
}
JFrame frame = new JFrame("Check Box Group");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.setLocationByPlatform(true);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
}
- 1. Как я могу установить флажок в Javascript?
- 2. Как я могу установить флажок и исчезнуть?
- 3. Как я могу установить этот флажок
- 4. React - Как я могу установить флажок?
- 5. Как я могу установить флажок внутри selectbox?
- 6. Как я могу установить флажок и снять флажок в python?
- 7. Я не могу установить флажок из таблицы
- 8. Не могу установить флажок
- 9. Флажок: не могу установить флажок в Safari
- 10. Как я могу снять флажок?
- 11. Как я могу установить флажок в ячейке мобильного телефона
- 12. Как я могу установить флажок в JavaScript? (Не используя JQuery)
- 13. Как я могу установить флажок для работы в WPF datagrid
- 14. Как я могу установить только один флажок отдельно в ListView?
- 15. Как я могу установить флажок и метку на одной строке?
- 16. Как я могу установить флажок, который принадлежит GridView?
- 17. Как я могу установить каждый флажок на странице в CasperJS
- 18. Как я могу установить этот флажок в режиме реального времени?
- 19. Как я могу установить флажок в Selenium Webdriver с Java?
- 20. Я не могу установить флажок MVC, как проверить в JQuery
- 21. Как я могу установить флажок на изображения для выбора?
- 22. Как я могу установить флажок, используя selenim webdriver?
- 23. Как я могу изменить флажок в рельсах?
- 24. Как установить флажок?
- 25. Я не могу установить флажок у selenium Web-драйвер
- 26. Как установить флажок и выбрать другой флажок.
- 27. Как установить флажок справа?
- 28. Как установить флажок установлен?
- 29. Как я могу использовать флажок и искать?
- 30. Как я могу узнать, какой флажок установлен?
этот код только 4 флажка в целом? – Sham
Нет, этот пример позволит вам иметь столько кнопок, сколько у вас есть, но будет контролировать изменения, которые должны произойти (в соответствии с тем, что я понял из вашего сообщения), когда ящики проверяются/не проверены. – Tavo
хорошо .. плохо попробуйте применить его, спасибо за помощь – Sham