|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2004
Città: Monza (MI)
Messaggi: 46
|
[Java] Creazione array di checkbox, gli actionperformed?
ciao, ho creato un array di 31 check box che sono allineate ad un array di 31 label. Ogni volta che si spunta una check box la label corrispondente dovrebbe essere cancellata. Dal momento che ho un array come faccio a definire gli actionPerformed? posso definirne uno che che vale per tutti o devo definirne 31?
Il mio problema è solo creare il metodo, visto che normalmente si mette il nome dell'istanza+actionPerformed oppure dall'interfaccia grafica di netbeans (non posso farlo dall'interfaccia grafica con le checkbox perchè non posso crare un array ma dovrei creare 31 checkbox). |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Se non ho capito male quello che vuoi fare, puoi creare una singola implementazione di ActionListener, che assegnerai come unico ascoltatore a ciascuna checkbox.
Poi, nel metodo actionPerformed del tuo ascoltatore, sull'oggetto ActionEvent che viene passato al metodo come parametro invochi il metodo getSource() per ottenere il riferimento all'oggetto (la checkBox) che ha scatenato l'evento: scoperta la checkbox, sai anche a quale label è associata, e la cancelli. per darti uno spunto: Codice:
JCheckBox checboxes[]; JLabel labels[]; ... // creazione listener ActionListener l = new ActionListener() { public void actionPerformed(ActionEvent e) { int index = 0; for (JCheckBox c : checkboxes) { if (e.getSource() == c) { break; } index++; } // la sorgente e' la checkbox di indice index: // in base al valore della property "selected" della checkbox // mostro/nascondo labels[index] } }; // registrazione listener for (JCheckBox c : checkboxes) { c.addActionListener(l); }
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 18-02-2010 alle 11:22. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2004
Città: Monza (MI)
Messaggi: 46
|
grazie provo subito
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Oct 2004
Città: Monza (MI)
Messaggi: 46
|
Grazie ho risolto! Ho due altri dubbi però:
1- Come faccio ad associare un tasto della tastiera ad un pulsante=? in poche parole vorrei che se si preve Enter venga premuto il pulsante. 2- Io uso 1280x1024 di risoluzione sul mio schermo e quindi la mia applicazione che è circa 400x800 si vede perfettamente. Ma se la uso a risoluzione più bassa ovviamente non è contenuta interamente nello schermo. Mi chiedevo se c'era un modo per ridimensionare la finestra scalando in proporzione ogni oggetto contenuto (pulsanti, label, checkbox...) Grazie del prezioso aiuto ![]() |
![]() |
![]() |
![]() |
#5 | |||
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Ti posto questo link dei Java Tutorials: - How to Use Key Bindings Quote:
Codice:
import java.awt.Dimension; import java.awt.Toolkit; ... Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); // screen.heigth e screen.width contengono rispettivamente // altezza e larghezza dello schermo. Quote:
Per questo compito ci sono i vari LayoutManagers che implementano differenti politiche di assegnazione degli spazi interni di un container ai vari component contenuti, secondo precise logiche di posizionamento e ridimensionamento dei component. Per non fare un discorso troppo astratto, prova a descrivere il layout della finestra principale del tuo programma, così cerchiamo di capire assieme quali strategie di suddivisione dello spazio applicare.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:18.