ok grazie, sei il numero uno![]()
![]()
![]()
![]()
ok grazie, sei il numero uno![]()
![]()
![]()
![]()
quando il diavolo ti accarezza è perchè vuole la tua anima
si, il gruppo l'avevo creato, cosi' come avevo addato (Originariamente inviato da gax80
alex87, hai provato a creare l'istanza
ecodice:public ButtonGroup group = new ButtonGroup();
fare
codice:group.add(<il nome del botton>); <il nome del tuo bottone>.setSelected(false);) i singoli radio botton.
vi spiego cosa devo fare:
sto preparando un programma per fare test al computer. le domande vengono messe in una JTextArea mentre le alternative di risposta in JRadioButton. vorrei dare allo studente la possibilita' di ripensarci e di togliere una risposta data... per questo ho messo un JButton che , se cliccato, scorre il vettore dei JRadioButton e chiama su ognuno setSelected(false).
se chiamo setSelected(false) solo sul bottoncino selezionato (riconosciuto con isSelected()), la situazione nonn cambia, anche se correttamente mi viene segnalato che il bottoncino e' selezionato!!!
la stampa viene fatta correttamente, ma il bottoncino rimane selezionato!codice:bottone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { for (int i = 0; i < bottoncini.length; i++) { if (bottoncini[i].isSelected())) { System.out.println(i + " e\' selezionato!"); bottoncini[i].setSelected(false); } } } });
ho provato anche ad usare il setSelected del model associato ma niente!
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
Non ti assicuro l'esattezza della risposta perchè al momento non posso provare. Cmq essendo i JRadioButton collegati in un gruppo, significa che almeno deve essere selezionato per forza, discorso che non vale per l'inizializzazione del gruppo, cioè quando vengono creati per la prima volta i JRadioButton. Infatti, non so se hai provato, se fai:
Questo funziona.codice:JRadioButton rb1 = new JRadioButton("Opzione 1",false); JRadioButton rb2 = new JRadioButton("Opzione 2",false);
La politica del gruppo è che una volta selezionato un JRadioButton gli altri devono essere deselezionati ed almeno uno deve essere selezionato.
Una soluzione plausibile potrebbe essere un refresh, cioè quando viene pigiato il pulsante, ad esempio chiamato Clear, ti va a ricreare tutti i JRadioButton, avendo l'accortezza di togliere prima i precedenti.
Spero di essere stato chiaro![]()
ciao Salcam ho un problema:
codice:public void actionPerformed(ActionEvent e) { if ("estr".equals(e.getActionCommand())) { //SEZIONE FRAME JPanel pp = new JPanel(); JPanel ppp = new JPanel(new GridLayout(1,3)); ff.setResizable(true); ff.setSize(400,440); ff.setLocation(370, 250); ff.setTitle("estrazione guidata"); //ff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ff.getContentPane().add(ppp); //SEZIONE CONTAINER Icon icon2 = new ImageIcon("C:/Documents and Settings/G.Costanz0/Desktop/lato.gif"); JLabel ll = new JLabel(); JButton first = new JButton("avanti"); ll.setIcon(icon2); ppp.add(ll, BorderLayout.WEST ); ppp.add(pp); pp.setBorder(BorderFactory.createTitledBorder("1 passo")); pp.setBounds(10, 10, 100, 100); pp.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 15)); group.add(radio1); group.add(radio2); pp.add(radio1); pp.add(radio2); pp.add(first); ff.setVisible(true); first.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent a) {if(radio1.isSelected()) { ff.setVisible(false); frame1(); } else { ff.setVisible(false); frame1(); } }//public }); } } public void frame1() { JFrame f3 = new JFrame(); JPanel p4 = new JPanel(new GridLayout(1,3)); JPanel p4_1 = new JPanel(); f3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f3.setSize(440,440); f3.setLocation(370, 250); f3.setTitle("estrazione guidata"); f3.getContentPane().add(p4); //SEZIONE CONTAINER Icon icon3 = new ImageIcon("C:/Documents and Settings/G.Costanz0/Desktop/lato2.gif"); JLabel ll2 = new JLabel(); JButton back = new JButton("indietro"); JButton second = new JButton("avanti"); back.setActionCommand("back"); second.setActionCommand("avanti"); JRadioButton rphp = new JRadioButton("PHP"); JRadioButton rasp = new JRadioButton("ASP"); JRadioButton rdot = new JRadioButton(".NET"); JRadioButton rall = new JRadioButton("Tutte"); ll2.setIcon(icon3); p4.add(ll2, BorderLayout.WEST ); p4.add(p4_1); p4_1.setBorder(BorderFactory.createTitledBorder("2 passo")); p4_1.setBounds(10, 10, 100, 100); p4_1.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 15)); group.add(rphp); group.add(rasp); group.add(rdot);group.add(rall); p4_1.add(rphp); p4_1.add(rasp); p4_1.add(rdot);p4_1.add(rall); p4_1.add(second); p4_1.add(back); f3.setVisible(true); back.addActionListener(new ActionListener() { public void ActionPerformed(ActionEvent a) { [cosa metto?] (); } } ); }
come vedi solo due procedure, però se vedi sul rigo blue mi dà errore, forse perchè nn metto come parametro all'iniziondella procedura ActionListener e poi dove ho scritto [cosa metto?], dovrei mettere l'istanza per chiamare la prima procedura che sta sopra...
se mi rispondi ti offro un caffè....![]()
![]()
![]()
![]()
![]()
quando il diavolo ti accarezza è perchè vuole la tua anima
Forse l'errore sta qui:
infatti actionPerformed essendo un metodo va scritto con la lettere iniziale minuscola, quindi:codice:back.addActionListener(new ActionListener(){ public void ActionPerformed(ActionEvent a){ } });
Per quanto concerne cosa mettere dentro, non ho ben capito a quale metodo(procedura) ti riferisci!!!codice:back.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent a){ } });
come al solito hai ragione, certo che ci vuole molta pazienza x sto programma, un altro problema...
quando dal frame 2 ritorno al frame1 dei tasti nn si rivedono, ecco il codicecodice:public void frame1 ... } public void frame 2 }
codice:public JFrame ff = new JFrame(); public JRadioButton radio1 = new JRadioButton("singola pagina"); public JRadioButton radio2 = new JRadioButton("tutta la cartella"); public ButtonGroup group = new ButtonGroup(); public JButton first = new JButton("avanti"); public JButton estr = new JButton("estrazione SCRIPT"); public JButton back = new JButton("indietro"); public JFrame f3 = new JFrame(); public void actionPerformed(ActionEvent e){ frame(); } public void frame() { //actionPerformed(ActionEvent e) { //if ("estr".equals(e.getActionCommand())) //{ //SEZIONE FRAME JPanel pp = new JPanel(); JPanel ppp = new JPanel(new GridLayout(1,3)); //ff.setResizable(true); ff.setSize(400,440); ff.setLocation(370, 250); ff.setTitle("estrazione guidata"); //ff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ff.getContentPane().add(ppp); //SEZIONE CONTAINER Icon icon2 = new ImageIcon("C:/Documents and Settings/G.Costanz0/Desktop/lato.gif"); JLabel ll = new JLabel(); ppp.setVisible(true); pp.setVisible(true); ll.setIcon(icon2); ppp.add(ll, BorderLayout.WEST ); ppp.add(pp); pp.setBorder(BorderFactory.createTitledBorder("1 passo")); pp.setBounds(10, 10, 100, 100); first.setVisible(true); pp.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 15)); group.add(radio1); group.add(radio2); pp.add(radio1); pp.add(radio2); pp.add(first); ff.setVisible(true); first.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent a) {if(radio1.isSelected()) { ff.setVisible(false); frame1(); } else { ff.setVisible(false); frame1(); } }//public }); } // } public void frame1() { JPanel p4 = new JPanel(new GridLayout(1,3)); JPanel p4_1 = new JPanel(); f3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f3.setSize(440,440); f3.setLocation(370, 250); f3.setTitle("estrazione guidata"); f3.getContentPane().add(p4); //SEZIONE CONTAINER Icon icon3 = new ImageIcon("C:/Documents and Settings/G.Costanz0/Desktop/lato2.gif"); JLabel ll2 = new JLabel(); JButton second = new JButton("avanti"); back.setActionCommand("back"); second.setActionCommand("avanti"); JRadioButton rphp = new JRadioButton("PHP"); JRadioButton rasp = new JRadioButton("ASP"); JRadioButton rdot = new JRadioButton(".NET"); JRadioButton rall = new JRadioButton("Tutte"); ll2.setIcon(icon3); p4.add(ll2, BorderLayout.WEST ); p4.add(p4_1); p4_1.setBorder(BorderFactory.createTitledBorder("2 passo")); p4_1.setBounds(10, 10, 100, 100); p4_1.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 15)); group.add(rphp); group.add(rasp); group.add(rdot);group.add(rall); p4_1.add(rphp); p4_1.add(rasp); p4_1.add(rdot);p4_1.add(rall); p4_1.add(second); p4_1.add(back); f3.setVisible(true); back.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { f3.setVisible(false); frame(); } } ); second.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { f3.setVisible(false); frame2(); } } ); }
quando il diavolo ti accarezza è perchè vuole la tua anima
A quali bottoni ti riferisci? Posta anche il codice dove dal frame2 richiami frame1![]()
nel metodo frame1 cè un controllo che mi chiama il metodo frame(), dopodicchè molte cose del frame(), nn ricompaiono
quando il diavolo ti accarezza è perchè vuole la tua anima
si ho capito, adesso provo... grazie!Originariamente inviato da salcam
Non ti assicuro l'esattezza della risposta perchè al momento non posso provare. Cmq essendo i JRadioButton collegati in un gruppo, significa che almeno deve essere selezionato per forza, discorso che non vale per l'inizializzazione del gruppo, cioè quando vengono creati per la prima volta i JRadioButton. Infatti, non so se hai provato, se fai:
Questo funziona.codice:JRadioButton rb1 = new JRadioButton("Opzione 1",false); JRadioButton rb2 = new JRadioButton("Opzione 2",false);
La politica del gruppo è che una volta selezionato un JRadioButton gli altri devono essere deselezionati ed almeno uno deve essere selezionato.
Una soluzione plausibile potrebbe essere un refresh, cioè quando viene pigiato il pulsante, ad esempio chiamato Clear, ti va a ricreare tutti i JRadioButton, avendo l'accortezza di togliere prima i precedenti.
Spero di essere stato chiaro![]()
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI