Java:我有一个JRadioButtons
添加到JPanel
,它被添加到GraphicsProgram中。当我运行程序时,我可以选择radiobuttons(当我点击按钮时,它们会起作用)。但是,JPanel
未显示新选择。换句话说,即使选择WORK,它们也不会显示。
即使我将单选按钮添加到ButtonGroup
,它也不起作用。我为JPanel工具栏尝试了repaint(),但它仍然不起作用。
applet运行时屏幕截图的链接。单选按钮被卡住了。当我点击“Pellets”或“Gate”时,它仍然显示选择了“Walls”。但是,即使按钮没有显示正确的选择,它们仍然被选中。
toolbar = new JPanel();
wallButton = new JRadioButton("Walls");
wallButton.setActionCommand("walls");
wallButton.setSelected(true);
pelletButton = new JRadioButton("Pellets");
pelletButton.setActionCommand("pellets");
gateButton = new JRadioButton("Gate");
gateButton.setActionCommand("gate");
toolbar.add(wallButton);
toolbar.add(pelletButton);
toolbar.add(gateButton);
wallButton.addActionListener(this);
pelletButton.addActionListener(this);
gateButton.addActionListener(this);
add(toolbar, SOUTH);
答案 0 :(得分:1)
我认为你遗失了ButtonGroup
在add()
之前添加以下代码:
ButtonGroup radioButtonGroup = new ButtonGroup();
radioButtonGroup.add(wallButton);
radioButtonGroup.add(pelletButton);
radioButtonGroup.add(gateButton);
答案 1 :(得分:0)
我认为您的JRadioButton
面板上的toolbar
存在布局问题。尝试将LayoutManager
(可能是new FlowLayout()
)设置为toolBar
面板。
答案 2 :(得分:0)
更改组件后,您必须调用repaint()
和revalidate()
。尝试在RadioButton
'动作侦听器上添加这些方法。