NB: Il seguente applet usa due Checkbox per fare delle scelte
//applet che ha un bottone 2 Checkbox e una Label import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BottonCheck extends JApplet implements ActionListener, ItemListener{ Display disegno; Button cliccami; Label cliccato; boolean click=false; boolean select1=false; boolean select2=false; Label r=new Label("Età", Label.CENTER); //ho centrato il testo nella label Label i=new Label("Interessi", Label.CENTER); //radiobottoni CheckboxGroup eta=new CheckboxGroup(); Checkbox r1=new Checkbox("Da 0 ai 15 anni"); Checkbox r2=new Checkbox("Dai 16 ai 30 anni"); Checkbox r3=new Checkbox("Dai 31 ai 70anni"); Checkbox r4=new Checkbox("Over 70"); //bottoni Checkbox i1=new Checkbox("Sport"); Checkbox i2=new Checkbox("Informatica"); Checkbox i3=new Checkbox("Lettura"); Checkbox i4=new Checkbox("Cinema"); Checkbox i5=new Checkbox("Animali"); Checkbox i6=new Checkbox("Fumetti"); Checkbox i7=new Checkbox("Lotterie"); Checkbox it=new Checkbox("tutti"); Panel p1=new Panel(); Panel p2=new Panel(new GridLayout(2,1)); Panel pr=new Panel(); Panel pt=new Panel(); //Per default ha FlowLayout public void init(){ disegno=new Display(); setContentPane(disegno); disegno.setLayout(new BorderLayout()); disegno.setBackground(new Color(10,100,180)); r1.setCheckboxGroup(eta); r2.setCheckboxGroup(eta); r3.setCheckboxGroup(eta); r4.setCheckboxGroup(eta); p1.add(r); p1.add(r1); p1.add(r2); p1.add(r3); p1.add(r4); disegno.add(p1, BorderLayout.NORTH); p2.add(pr); p2.add(pt); pr.add(i); pr.add(i1); pr.add(i2); pr.add(i3); pr.add(i4); pr.add(i5); pr.add(i6); pr.add(i7); pt.add(it); disegno.add(p2, BorderLayout.CENTER); i1.addItemListener(this); i2.addItemListener(this); i3.addItemListener(this); i4.addItemListener(this); i5.addItemListener(this); i6.addItemListener(this); i7.addItemListener(this); it.addItemListener(this); cliccami=new Button("Click!"); disegno.add(cliccami, BorderLayout.EAST); cliccami.addActionListener(this); cliccato=new Label("Seleziona la tua età e i tuoi interessi!",Label.CENTER); disegno.add(cliccato, BorderLayout.SOUTH); disegno.repaint(); } public void actionPerformed(ActionEvent e){ click=true; disegno.repaint(); } public void itemStateChanged(ItemEvent e){ if(e.getSource()==it) select1=true; if((e.getSource()==i1)||(e.getSource()==i2)||(e.getSource()==i3)||(e.getSource()==i4)|(e.getSource()==i5)|(e.getSource()==i6)||(e.getSource()==i7)) select2=true; disegno.repaint(); } class Display extends JPanel{ public void paintComponent(Graphics g){ if(click){ if (r1.getState()) cliccato.setText(" Età "+(r1.getLabel())); else if (r2.getState()) cliccato.setText(" Età "+(r2.getLabel())); else if (r3.getState()) cliccato.setText("Età "+(r3.getLabel())); else if (r4.getState()) cliccato.setText("Età "+(r4.getLabel())); else cliccato.setText("Età "+"NON DICHIARATA!"); click=false; } if(select1){ i1.setState(it.getState()); i2.setState(it.getState()); i3.setState(it.getState()); i4.setState(it.getState()); i5.setState(it.getState()); i6.setState(it.getState()); i7.setState(it.getState()); select1=false; } if(select2){ it.setState(i1.getState()&& i2.getState()&& i3.getState()&& i4.getState()&& i5.getState()&& i6.getState()&& i7.getState()); select2=false; } } } }