Pergunta

Quando tento colocar o objeto ButtonGroup em meu objeto Box, o compilador retorna o seguinte erro:

nenhum método para esse tipo

Por favor me ajude, como posso adicionar meu ButtonGroup na caixa horizontal?

Foi útil?

Solução

Algo assim:

ButtonGroup bg; // your button group
Box box; // your box
// Create a panel to group the buttons.
JPanel panel = new JPanel();
// Add all of the buttons in the group to the panel.
for (Enumeration<AbstractButton> en = buttonGroup.getElements(); en.hasMoreElements();) {
    AbstractButton b = en.nextElement();
    panel.add(b);
}
// Add the panel to the box.
box.add(panel):

Outras dicas

O ButtonGroup estende Object;não é um componente.Portanto, não é explicitamente adicionado a um contêiner ou componente.Em vez disso, ele agrupa instâncias AbstractButton.

Aqui está o código de exemplo do Javadocumentação.

Uma vantagem de não tornar o ButtonGroup um componente (e provavelmente a razão para implementá-lo dessa forma) é que você pode ter instâncias AbstractButton em diferentes componentes como membros do mesmo ButtonGroup.
Aqui está um código de amostra para demonstrar isso, usando um BoxLayout.

JPanel mainPanel = new JPanel();
mainPanel.setLayout ( new BoxLayout( mainPanel, BoxLayout.PAGE_AXIS ) );

ButtonGroup group = new ButtonGroup( );

JButton dogButton = new JButton("dog");
group.add( dogButton );
JPanel dogPanel = new JPanel( );
dogPanel.add( dogButton );
mainPanel.add( dogPanel );

JButton catButton = new JButton("cat");
group.add( catButton );
JPanel catPanel = new JPanel();
catPanel.add( catButton );
mainPanel.add( catPanel );
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top