我正在改进使用swing创建的摇滚,纸张,剪刀程序,现在我为每个JRadioButton添加了ImageIcons。我导入并添加了摇滚,但我似乎无法找到保持泡沫的方法
显示在文本旁边。当我添加图标时,我明白了。
有什么建议吗?谢谢!
答案 0 :(得分:1)
创建自定义图标以供选择(可以为当前图标添加边框)。然后,您可以设置选择图标,如下所示。
JRadioButton radio = new JRadioButton(new ImageIcon("Resources/nonSelect.png"));
radio.setSelectedIcon(new ImageIcon("Resources/selected.png"));
此外,您还可以设置翻转图标。
radio.setRolloverIcon(new ImageIcon("Resources/rollover.png"));
答案 1 :(得分:0)
“添加ImageIcon时如何保留JRadioButton中的气泡?”
也许您将图标和RB分组为单独的面板
像这样的东西
JRadioButton rock = new JRadioButton("Rock");
JRadioButton paper = new JRadioButton("Paper");
JRadioButton scissors = new JRadioButton("Scissors");
ButtonGroup bg = new ButtonGroup();
bg.add(rock);
bg.add(paper);
bg.add(scissors);
JPanel rockPanel = new JPanel(); <-- Rock panel
rockPanel.add(rock); <-- Rock RB
rockPanel.add(new JLabel(new ImageIcon("rock.png")); <-- Rock Icon
JPanel paperPanel = new JPanel(); <-- Paper Panel
rockPanel.add(paper); <-- Paper RB
rockPanel.add(new JLabel(new ImageIcon("paper.png")); <-- Paper Icon
JPanel scissorsPanel = new JPanel(); <-- Scissors Panel
rockPanel.add(scissors); <-- Scissors RB
rockPanel.add(new JLabel(new ImageIcon("scissors.png")); <-- Scissors Icon
JPanel holdThreePanel = new JPanel(new GridLayout(3, 1));
holdThreePanel.add(rockPanel); <-- Rock Panel
holdThreePanel.add(paperPanel); <-- Paper Panel
holdThreePanel.add(scissorsPanel); <-- Scissors Panel
然后你会有类似的东西
holdThreePanel
--------------------------------
| O Rock [rock icon] |
| O Paper [paper icon] |
| O Scissors [scissors icon] |
+------------------------------+
如果您不想要文本,请不要将任何文本设置为RadioButton。 JRadioButton rock = new RadioButton();