JRadiobutton选择没有显示

时间:2013-12-30 22:28:53

标签: java swing jpanel jradiobutton

Java:我有一个JRadioButtons添加到JPanel,它被添加到GraphicsProgram中。当我运行程序时,我可以选择radiobuttons(当我点击按钮时,它们会起作用)。但是,JPanel未显示新选择。换句话说,即使选择WORK,它们也不会显示。

即使我将单选按钮添加到ButtonGroup,它也不起作用。我为JPanel工具栏尝试了repaint(),但它仍然不起作用。

applet运行时屏幕截图的链接。单选按钮被卡住了。当我点击“Pellets”或“Gate”时,它仍然显示选择了“Walls”。但是,即使按钮没有显示正确的选择,它们仍然被选中。

enter image description here

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);

3 个答案:

答案 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'动作侦听器上添加这些方法。