I'm developing a Java interface coding in swing
and I use a checkbox. I would like that when I click on the checkbox it make a continuous event (because in this event I make a weft and I send it to a microcontroller) but I don't know how to do. I tried to make an ActionListener
but it make the action only one time.
Who can help me please ? :)
Here is the code I tried :
checkbox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// ------------------------------------------------------------|
// Déclaration des variables de la trame de la liaison
// montante|
// -----------------------------------------------------------|
float capGPS = -30;
float longi = 30;
float lat = 50;
float h = 50;
float capM = 50;
float V = 50;
float R = 50;
float Tsurvol = 50;
float Dist = 45;
float phiE = -30;
float thetaE = 30;
float psiE = 45;
float psiScan = 30;
float TfCam = 0;
String strRealFR = thetafld.getText();
float thetaCam = Float.valueOf(strRealFR);
float psiCam = Float.valueOf(psifld.getText());
byte[] length = new byte[1];
length[0] = 7;
byte[] typeMission = new byte[1];
typeMission[0] = 1;
// -----------------------------------------------------|
// Initialisation du tableau d'octets contenant la
// trame|
// ----------------------------------------------------|
byte[] trame = new byte[0];
trame = Tools.concatenateByteArrays(trame,
"$".getBytes());// StarFlag
trame = Tools.concatenateByteArrays(trame,
"!".getBytes());// Flag Nav
trame = Tools.concatenateByteArrays(trame,
"M".getBytes());// Mémorisation
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(capGPS));// CapGPS
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(longi));// Longitude
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(lat));// Latitude
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(h));// Altitude
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(capM));// Cap
// Magnétque
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(V));// Vitesse
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(R));// Rayon de
// révolution
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(Tsurvol));// Temps de
// survol
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(Dist));// Distance
trame = Tools.concatenateByteArrays(trame,
"Rt".getBytes());// Retour au point initial
trame = Tools.concatenateByteArrays(trame,
"§".getBytes());// flag attitude
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(phiE));// Angle de
// roulis
trame = Tools.concatenateByteArrays(trame, typeMission);// Type
// de
// mission
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(thetaE));// Angle de
// tangage
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(psiE));// Angle de
// lacet
trame = Tools.concatenateByteArrays(trame,
"#".getBytes());// mode de fonctionnement
trame = Tools.concatenateByteArrays(trame,
"o".getBytes());// Marche/Arret
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(-thetaCam));// Tangage
// caméra
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(psiCam));// Angle de
// lacet
// caméra
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(psiScan));// vitesse
// de
// balayage
// caméra
trame = Tools.concatenateByteArrays(trame,
Tools.convertSingleToBytes(TfCam));// tems de
// fonctionnement
// de la
// caméra
trame = Tools.concatenateByteArrays(trame,
"*".getBytes());// fin de trame
try {
if (port != null) {
fluxEcriture.write(trame);
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
} // fin actionPerformed
});
(Sorry for my bad English, I'm a french student .... :/ )
Aucun commentaire:
Enregistrer un commentaire