Domanda

Quando provo a inserire l'oggetto ButtonGroup nel mio oggetto Box, il compilatore restituisce il seguente errore:

nessun metodo per questo tipo

Per favore aiutami, come posso aggiungere il mio ButtonGroup nella casella orizzontale?

È stato utile?

Soluzione

Qualcosa di simile:

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

Altri suggerimenti

Il ButtonGroup estende Object;non è un componente.Quindi non viene aggiunto esplicitamente a un contenitore o componente.Piuttosto, raggruppa le istanze di AbstractButton.

Ecco il codice di esempio da Javadocumentazione.

Un vantaggio di non rendere ButtonGroup un componente (e probabilmente il motivo per implementarlo in questo modo) è che puoi avere istanze di AbstractButton su diversi componenti come membri dello stesso ButtonGroup.
Ecco un po 'di codice di esempio per dimostrarlo, utilizzando 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 );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top