Pregunta

Cuando trato de poner ButtonGroup objetar a mi Box objeto, el compilador devuelve el siguiente error:

no hay método para tal tipo

Por favor ayúdenme, ¿cómo puedo agregar mi ButtonGroup en caja horizontal?

¿Fue útil?

Solución

Algo como esto:

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

Otros consejos

El ButtonGroup extiende Object;no es un componente.Por lo tanto, no se agrega explícitamente a un contenedor o componente.Más bien, agrupa instancias de AbstractButton.

Aquí está el código de ejemplo de Javadocumentación.

Una ventaja de no convertir a ButtonGroup en un componente (y probablemente la razón para implementarlo de esta manera) es que puede hacer que las instancias de AbstractButton en diferentes componentes sean miembros del mismo ButtonGroup.
Aquí hay un código de muestra para demostrarlo, usando un 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top