|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Due cosette in java
Ho bisogno di sapere, magari anche con esempi di codice, come si fa a:
1) abilitare un pannello o il suo contenuto soltanto quando seleziono un determinato oggetto checkbox, mi spiego meglio.Ho un pannello che contiene dei checkbox, e vorrei che selezionando 2 di questi si abiliti la scrittura in delle textarea successive, inserite in un altro pannello, un po' come quando si installano dei programmi, che non si abilita il pulsante avanti finche non sei daccordo con la licenza. 2) prendere dei dati dalle textarea, salvarli in un file, poi rileggere il file e caricare i dati salvati al posto giusto. Grazie e ciao.
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
1)
Il Pannello in cui sono le JCheckBox deve implementare ActionListener e bisogna aggiungerlo come Listener delle checkBox. Quando arriva un ActionEvent controlli se le 2 checkbox che ti interesano sono selezionate e in questo caso abiliti la JTextArea, di cui devi avere un riferimento nel pannelllo, esempio: ....class MyPanel extends JPanel implements ActionListener{ . . . ....JCheckBox box1... ....JCheckBox box2... ....JTextArea area....//Questo campo deve essere inizializzato ................................//col riferimento alla textArea ad esempio ...............................//nel costruttore ....public MyPanel(){ . . . ........box1.addActionListener(this); ........box1.addActionListener(this); . . ....} ....public void ActionPerformed(ActionEvent e){ ........Object o = e.getSource(); ........if((o == box1) || (o == box2)){ ............if((box1.isSelected()) && (box2.isSelected())) ................area.setEnebled(true); ............else .................area.setEnebled(false); ............return; ............; ........} ....} . . . }
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals Ultima modifica di anx721 : 26-07-2003 alle 14:05. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
credo di aver capito, grazie mille
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Allora, rieccomi qui: mi da errore quando "abilito" l'action listener per i checkbox.
Ecco l'errore: Quote:
Quote:
Ho provato anche a mettere un itemListener ma non va (o forse ho sbagliato qualcos'altro). Come risolvo?
__________________
www.listafun.it |
||
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Ciò che ti ho detto io vale per le classi del package javax.swing mentre tu hai usato l'awt, le classi del javax.swing (che ti consiglio di usare) hanno lo stesso nome delle corrispondenti classi awt, salvo una "J" iniziale, cosi devi scrivere:
JCheckBox box = new JCheckBox();..... In particolare devi importare i seguenti package: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; Il metodo addActionListener non è infatti un metodo della classe CheckBox, ma è invece un metodo di JCheckBox. Per maggiori informazioni sulle classi del javx.swing ti indico la pagina della documentazione del sito della sun http://java.sun.com/j2se/1.4.2/docs/api/index.html, ad ogni modo se hai altri problemi scrivi pure. Ciao.
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals Ultima modifica di anx721 : 28-07-2003 alle 18:15. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
La documentazione java l'ho scaricata tutta, ed infatti per le checkbox non ho trovato l'actionlistener.
Ora provo a mettere la j davanti. Ancora grazie
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Allora, ho guardato i JCheckBox, ed anche i JRadioButton, e se non sbaglio bisogna creare un pannello specifico per loro, con relativo bordo, giusto?
Io per prova li ho messi al posto dei vecchi CheckBox, con le opportune modifiche (ho tolto il CheckBoxGroup) ma l'actionListener sembra non funzionare (serve obbligatoriamente un contenitore?) Inoltre ho visto che è possibile selezionare più di un elemento alla volta, ed io li vorrei esclusivi, dipende sempre dal contenitore?
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Dimenticavo una cosa, spero non sia importante: io ho già implementato un actionPerformed, per un bottone e per i menu, può questo influenzare il checkbox?
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
un uppino per me
![]()
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Quote:
Ma se non aggiungi il listener esplicitamente ad un oggetto (in questo caso le CheckBox), non c'è verso di influenzarle!! |
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Per influenzarle intendo:
il mio bottone deve fare una cosa, le checkbox un'altra, se le metto tutte nell'actionlistener ho dei problemi, per cui devo usare un itemchanged, oppure no? Cmq ora ho trovato un esempio in cui i checkbox hanno gli itemstatechanged, provo ad usare quelli.
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Puoi individuare la sorgente dell'evento applicando il metodo getSource() all'evento stesso...
Codice:
public void actionPerformed(ActionEvent e) { if (e.getSource() == bottone){ ... } else if(e.getSource() == checkbox){ ... } } |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Grazie mille.
Avevo provato anche creando un'altra classe, adesso vedo qual'è meglio.
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Puoi anche, per ogni oggetto, scrivere un codice del genere:
Codice:
oggetto1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { .....; } }); oggetto2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { .....; } }); |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Siccome ho molte checkbox è meglio fare un lavoro unico e più generale, altrimenti dovrei ripetere troppo codice.
Cmq lo terrò presente per il futuro. Grazie mille
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Problema 1 risolto, ora c'è il problema 2
come faccio a salvare il contenuto della text area in un file e poi ricaricarlo? Giuro che poi non rompo più. (spero) ![]()
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Bhè per qusto problema ti vai a leggere un quyalunque tutorial alla voce "Utilizzo dei file", o se hai un minimo di pratica basta la doc delle API (classe File)
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Risolto anche quello, con le properties.
Ora sto mettendo a posto i dettagli. Come faccio ad avere tutto il programma dello stesso colore? Il bottone del menù è bianco, mentre la barra è grigia, non trovo nessun setColor o simili. ![]()
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Finito tutto, qualcuno ci vuole dare un'occhiata, e dirmi se ho fatto delle stupidate (soprattutto nei commenti)??
__________________
www.listafun.it |
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Nov 2001
Città: carpi - mo
Messaggi: 801
|
Nessuno vuol fare il correttore di bozze?
![]() Dai che vi dedico l'esame!!
__________________
www.listafun.it |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:58.