New file |
0,0 → 1,925 |
package org.tela_botanica.client.vues; |
|
|
|
import java.util.Iterator; |
|
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.ListeReferentielCommune; |
import org.tela_botanica.client.modeles.ListeReferentielNom; |
import org.tela_botanica.client.modeles.Observation; |
import org.tela_botanica.client.modeles.ReferentielCommune; |
import org.tela_botanica.client.modeles.ReferentielNom; |
import org.tela_botanica.client.observation.ObservationMediateur; |
|
import com.google.gwt.user.client.Window; |
import com.gwtext.client.core.EventCallback; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.core.ListenerConfig; |
import com.gwtext.client.core.Position; |
import com.gwtext.client.data.ArrayReader; |
import com.gwtext.client.data.FieldDef; |
import com.gwtext.client.data.MemoryProxy; |
import com.gwtext.client.data.RecordDef; |
import com.gwtext.client.data.SimpleStore; |
import com.gwtext.client.data.Store; |
import com.gwtext.client.data.StringFieldDef; |
import com.gwtext.client.widgets.BoxComponent; |
import com.gwtext.client.widgets.Button; |
import com.gwtext.client.widgets.Component; |
import com.gwtext.client.widgets.Container; |
import com.gwtext.client.widgets.Panel; |
import com.gwtext.client.widgets.Toolbar; |
import com.gwtext.client.widgets.event.BoxComponentListener; |
import com.gwtext.client.widgets.event.BoxComponentListenerAdapter; |
import com.gwtext.client.widgets.event.ButtonListenerAdapter; |
import com.gwtext.client.widgets.event.ContainerListenerAdapter; |
import com.gwtext.client.widgets.form.ComboBox; |
import com.gwtext.client.widgets.form.DateField; |
import com.gwtext.client.widgets.form.FormPanel; |
import com.gwtext.client.widgets.form.TextArea; |
import com.gwtext.client.widgets.form.TextField; |
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter; |
import com.gwtext.client.widgets.layout.ColumnLayout; |
import com.gwtext.client.widgets.layout.ColumnLayoutData; |
import com.gwtext.client.widgets.layout.FormLayout; |
import com.gwtext.client.data.Record; |
|
/** |
* Panneau contenant les infos, les métadonnées et l'arbre des mots clés, il implémente l'interface rafraichissable |
* @author aurelien |
* |
*/ |
public class FormulaireSaisieObservationVue extends Panel implements Rafraichissable { |
|
|
/** |
* Le médiateur associé à la vue |
*/ |
private ObservationMediateur observationMediateur = null; |
|
|
|
private DateField date = null; |
private TextField lieudit = null; |
private TextField station = null; |
private TextField milieu = null; |
private TextField comment = null; |
private ComboBox commune = null; |
private String departement = null; |
private ComboBox espece = null; |
private String numeroNom = null; |
private String numeroOrdre = null; |
|
// Pour remise a zero partielle lors d'une validation |
|
private enum Champs { |
DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT |
}; |
|
|
|
private String formatDate = null ; |
private Button boutonOK = new Button("Créer"); |
private Button boutonAnnuler = new Button("Réinitialiser"); |
|
private boolean selectionCommune=false; |
private boolean selectionEspece=false; |
|
private boolean modification = false ; |
private Toolbar bt = null ; |
|
private final int KEY_ALT = 18; |
private final int KEY_BACKSPACE = 8; |
private final int KEY_CTRL = 17; |
private final int KEY_DELETE = 46; |
private final int KEY_DOWN = 40; |
private final int KEY_END = 35; |
private final int KEY_ENTER = 13; |
private final int KEY_ESCAPE = 27; |
private final int KEY_HOME = 36; |
private final int KEY_LEFT = 37; |
private final int KEY_PAGEDOWN = 34; |
private final int KEY_PAGEUP = 33; |
private final int KEY_RIGHT = 39; |
private final int KEY_SHIFT = 16; |
private final int KEY_TAB = 9; |
private final int KEY_UP = 38; |
|
private int tailleChamps = 350 ; |
|
/** |
* Combobox permettant de selectionner le mode |
* modification ou bien création |
*/ |
private ComboBox selecteurMode = new ComboBox(); |
|
Store storeMode = null ; |
|
/** |
* Booleen d'instanciation |
*/ |
boolean estInstancie = false ; |
|
/** |
* Constructeur sans argument (privé car ne doit pas être utilisé) |
*/ |
@SuppressWarnings("unused") |
private FormulaireSaisieObservationVue() |
{ |
super() ; |
} |
|
/** |
* Constructeur avec argument |
* @param im |
*/ |
public FormulaireSaisieObservationVue(ObservationMediateur obs) |
{ |
// on associe le médiateur |
observationMediateur = obs ; |
|
|
setHeader(true); |
|
FormPanel panneauFormulaire = new FormPanel(Position.RIGHT); |
panneauFormulaire.setBorder(false); |
|
// Panneau intermediaire qui contient deux colonnes de formulaire |
|
Panel panneauIntermediaire = new Panel(); |
panneauIntermediaire.setLayout(new ColumnLayout()); |
panneauIntermediaire.setBorder(false); |
|
//create first panel and add fields to it |
Panel panneauPremierColonne = new Panel(); |
panneauPremierColonne.setLayout(new FormLayout()); |
panneauPremierColonne.setBorder(false); |
|
//create second panel and add fields to it |
Panel panneauSecondeColonne = new Panel(); |
panneauSecondeColonne.setLayout(new FormLayout()); |
panneauSecondeColonne.setBorder(false); |
|
this.setPaddings(5) ; |
|
commune=new ComboBox("Commune","commune",tailleChamps ); |
final String resultTplCommune = "<div class=\"search-item-commune\">{commune}</div>"; |
commune.setTpl(resultTplCommune); |
commune.setMode(ComboBox.REMOTE); |
// commune.setPageSize(10); // Ne fonctionne pas |
commune.setItemSelector("div.search-item-commune"); |
commune.setTypeAhead(true); |
commune.setLoadingText("Recherche..."); |
|
commune.setHideTrigger(true); |
commune.setTabIndex(1); |
|
panneauPremierColonne.add(commune); |
|
station = new TextField("Station", "station", tailleChamps); |
station.setAllowBlank(true); |
station.setTabIndex(3); |
panneauPremierColonne.add(station); |
|
date = new DateField("Date", "date", 100); |
date.setAllowBlank(true); |
formatDate = "d/m/Y"; |
date.setFormat(formatDate) ; |
date.setTabIndex(5); |
panneauPremierColonne.add(date); |
|
|
espece=new ComboBox("Espèce","nom",tailleChamps ); |
|
|
final String resultTplEspece = "<div class=\"search-item-espece\">{nom}</div>"; |
|
|
espece.setTpl(resultTplEspece); |
espece.setMode(ComboBox.REMOTE); |
// commune.setPageSize(10); // Ne fonctionne pas |
espece.setItemSelector("div.search-item-espece"); |
espece.setTypeAhead(true); |
espece.setLoadingText("Recherche..."); |
|
espece.setHideTrigger(true); |
espece.setTabIndex(6); |
|
panneauPremierColonne.add(espece); |
|
lieudit = new TextField("Lieu-dit", "lieudit", tailleChamps); |
lieudit.setAllowBlank(true); |
lieudit.setTabIndex(2); |
panneauSecondeColonne.add(lieudit); |
|
|
milieu = new TextField("Milieu", "milieu", tailleChamps); |
milieu.setAllowBlank(true); |
milieu.setTabIndex(4); |
panneauSecondeColonne.add(milieu); |
|
comment = new TextArea("Notes", "comment"); |
comment.setAllowBlank(true); |
comment.setHeight(50); |
comment.setWidth(tailleChamps); |
comment.setTabIndex(7); |
panneauSecondeColonne.add(comment); |
|
panneauIntermediaire.add(panneauPremierColonne, new ColumnLayoutData(.5)); |
panneauIntermediaire.add(panneauSecondeColonne, new ColumnLayoutData(.5)); |
|
panneauFormulaire.add(panneauIntermediaire); |
|
Object[][] mode = {{"création",false} , {"modification", true} }; |
storeMode = new SimpleStore(new String[] { "nom_mode", "mode" }, |
mode); |
storeMode.load(); |
selecteurMode.setStore(storeMode); |
selecteurMode.setDisplayField("nom_mode") ; |
selecteurMode.setLabel("mode ") ; |
selecteurMode.setForceSelection(true) ; |
selecteurMode.setValue("création") ; |
selecteurMode.setEditable(false) ; |
selecteurMode.setCls("x-selec-crea") ; |
|
bt = new Toolbar() ; |
bt.addSpacer() ; |
bt.addText("Mode de saisie ") ; |
bt.addField(selecteurMode) ; |
|
boutonOK.setTabIndex(8); |
boutonAnnuler.setTabIndex(9); |
|
panneauFormulaire.addButton(boutonOK); |
|
panneauFormulaire.addButton(boutonAnnuler); |
|
selecteurMode.addListener(new ComboBoxListenerAdapter() { |
|
public void onSelect(ComboBox comboBox, Record record, int index) { |
|
// et on met la valeur à jour dans la combobox |
comboBox.setValue(record.getAsString("nom_mode")); |
setModification(record.getAsString("mode")) ; |
} |
|
}); |
|
this.add(panneauFormulaire) ; |
this.setTopToolbar(bt) ; |
|
this.setAutoScroll(true); |
//this.setAutoHeight(true); |
|
|
// on ajoute les listeners |
ajouterListeners() ; |
|
} |
|
private void ajouterListeners() |
{ |
// Listener completion communne |
|
commune.addListener(new ComboBoxListenerAdapter() { |
public void onSelect(ComboBox comboBox, Record record, int index) { |
commune.setValue(record.getAsString("commune")); |
departement=record.getAsString("departement"); |
selectionCommune=true; |
} |
}); |
|
|
ListenerConfig listenerConfigCommune=new ListenerConfig(); |
listenerConfigCommune.setDelay(10); |
listenerConfigCommune.setStopPropagation(false); |
listenerConfigCommune.setStopEvent(false); |
|
commune.addKeyPressListener(new EventCallback() { |
|
public void execute(EventObject e) { |
|
|
switch(e.getKey()) { |
|
case KEY_ALT: |
case KEY_CTRL: |
case KEY_DOWN: |
case KEY_END: |
case KEY_ESCAPE: |
case KEY_HOME: |
case KEY_LEFT: |
case KEY_PAGEDOWN: |
case KEY_PAGEUP: |
case KEY_RIGHT: |
case KEY_SHIFT: |
case KEY_TAB: |
case KEY_UP: |
|
break; |
|
case KEY_ENTER: |
|
if (selectionCommune) { |
selectionCommune=false; |
} |
else { |
|
validerSaisie(Champs.COMMUNE); |
// lancer mise a jour |
} |
break; |
|
default: |
|
departement=""; |
obtenirListeReferentielCommune(); |
|
break; |
} |
} |
}, listenerConfigCommune |
); |
|
date.addKeyPressListener(new EventCallback() { |
|
public void execute(EventObject e) { |
// TODO Auto-generated method stub |
switch(e.getKey()) { |
|
case KEY_ENTER: |
validerSaisie(Champs.DATE); |
break; |
|
default: |
} |
} |
}); |
|
station.addKeyPressListener(new EventCallback() { |
|
public void execute(EventObject e) { |
// TODO Auto-generated method stub |
switch(e.getKey()) { |
|
case KEY_ENTER: |
validerSaisie(Champs.STATION); |
break; |
|
default: |
} |
} |
}); |
|
|
|
// Listener completion espece |
espece.addListener(new ComboBoxListenerAdapter() { |
public void onSelect(ComboBox comboBox, Record record, int index) { |
espece.setValue(record.getAsString("nom")); |
numeroNom=record.getAsString("numeroNom"); |
selectionEspece=true; |
observationMediateur.obtenirImageInformationExternes(numeroNom); |
} |
}); |
|
|
ListenerConfig listenerConfigEspece=new ListenerConfig(); |
listenerConfigEspece.setDelay(10); |
listenerConfigEspece.setStopPropagation(false); |
listenerConfigEspece.setStopEvent(false); |
|
|
espece.addKeyPressListener(new EventCallback() { |
|
public void execute(EventObject e) { |
|
|
switch(e.getKey()) { |
|
|
case KEY_ALT: |
case KEY_CTRL: |
case KEY_DOWN: |
case KEY_END: |
case KEY_ESCAPE: |
case KEY_HOME: |
case KEY_LEFT: |
case KEY_PAGEDOWN: |
case KEY_PAGEUP: |
case KEY_RIGHT: |
case KEY_SHIFT: |
case KEY_TAB: |
case KEY_UP: |
|
break; |
|
case KEY_ENTER: |
|
if(selectionEspece) { |
selectionEspece=false; |
} |
else { |
validerSaisie(Champs.ESPECE); |
} |
|
break; |
|
default: |
|
numeroNom=""; |
obtenirListeReferentielNom(); |
|
break; |
} |
|
|
|
} |
|
}, listenerConfigEspece |
|
); |
|
lieudit.addKeyPressListener(new EventCallback() { |
|
public void execute(EventObject e) { |
// TODO Auto-generated method stub |
switch(e.getKey()) { |
|
case KEY_ENTER: |
validerSaisie(Champs.LIEUDIT); |
break; |
|
default: |
} |
} |
}); |
|
milieu.addKeyPressListener(new EventCallback() { |
|
public void execute(EventObject e) { |
// TODO Auto-generated method stub |
switch(e.getKey()) { |
|
case KEY_ENTER: |
validerSaisie(Champs.MILIEU); |
break; |
|
default: |
} |
} |
}); |
|
/*comment.addKeyPressListener(new EventCallback() { |
|
public void execute(EventObject e) { |
// TODO Auto-generated method stub |
switch(e.getKey()) { |
|
case KEY_ENTER: |
validerSaisie(Champs.COMMENT); |
break; |
|
default: |
} |
} |
});*/ |
|
|
|
boutonOK.addListener(new ButtonListenerAdapter() { |
|
public void onClick(Button button, EventObject e) { |
|
if(modification) { |
modifierObservation() ; |
} |
else { |
ajouterObservation(); |
} |
|
|
} |
|
}); |
|
boutonAnnuler.addListener(new ButtonListenerAdapter() { |
|
public void onClick(Button button, EventObject e) { |
|
if(modification) |
{ |
supprimerObservation() ; |
} |
else |
{ |
raz(); |
} |
|
|
} |
|
}); |
|
this.addListener(new ContainerListenerAdapter() { |
public void onAfterLayout(Container self) { |
|
ajusterTailleChamps(); |
commune.focus(); |
} |
}); |
|
this.addListener(new BoxComponentListenerAdapter() { |
public void onResize(BoxComponent component, int adjWidth, int adjHeight, int rawWidth, int rawHeight) { |
|
ajusterTailleChamps(); |
} |
}); |
} |
|
/** |
* Validation de la saisie |
*/ |
|
private void validerSaisie(Champs champs) { |
|
if(modification) { |
modifierObservation() ; |
|
} |
else { |
ajouterObservation(); |
raz(champs); |
} |
} |
|
/** |
* Desactive visuellement ce panneau |
*/ |
public void desactiverPanneau() |
{ |
this.setDisabled(true) ; |
} |
|
/** |
* Active visuellement ce panneau |
*/ |
public void activerPanneau() |
{ |
this.setDisabled(false) ; |
} |
|
public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) { |
|
// si l'on a reçu une liste du referentiel commune (completion referentiel commune) |
if(nouvelleDonnees instanceof ListeReferentielCommune) |
{ |
|
ListeReferentielCommune data = (ListeReferentielCommune) nouvelleDonnees ; |
Object[][] communeData = new Object[data.size()][2]; |
int i = 0 ; |
|
// on la parse et on récupère les informations quiç nous interessent |
for (Iterator it = data.keySet().iterator(); it.hasNext();) |
{ |
|
ReferentielCommune ref=(ReferentielCommune) data.get(it.next()); |
|
communeData[i][0]= ref.getCommune(); |
communeData[i][1]= ref.getDepartement(); |
|
|
i++ ; |
} |
|
// creation du store |
FieldDef defCommune = new StringFieldDef("commune"); |
FieldDef defDepartement = new StringFieldDef("departement"); |
|
|
FieldDef[] defTab = { defCommune, defDepartement}; |
|
RecordDef rd = new RecordDef(defTab); |
|
final MemoryProxy dataProxy = new MemoryProxy(communeData); |
final ArrayReader reader = new ArrayReader(rd); |
|
Store store=new Store(dataProxy,reader); |
store.load() ; |
|
commune.setStore(store); |
} |
|
// si l'on a reçu une liste du référentiel nom (complétion referentiel nom) |
|
if(nouvelleDonnees instanceof ListeReferentielNom) |
{ |
|
ListeReferentielNom data = (ListeReferentielNom) nouvelleDonnees ; |
Object[][] nomData = new Object[data.size()][2]; |
int i = 0 ; |
|
// on la parse et on récupère les informations quiç nous interessent |
for (Iterator it = data.keySet().iterator(); it.hasNext();) |
{ |
|
ReferentielNom ref=(ReferentielNom) data.get(it.next()); |
|
nomData[i][0]= ref.getNom(); |
nomData[i][1]= ref.getNumeroNom(); |
|
|
i++ ; |
} |
|
// creation du store |
FieldDef defNom = new StringFieldDef("nom"); |
FieldDef defNumeroNom = new StringFieldDef("numeroNom"); |
|
|
FieldDef[] defTab = { defNom, defNumeroNom}; |
|
RecordDef rd = new RecordDef(defTab); |
|
final MemoryProxy dataProxy = new MemoryProxy(nomData); |
final ArrayReader reader = new ArrayReader(rd); |
|
Store store=new Store(dataProxy,reader); |
store.load() ; |
|
espece.setStore(store); |
|
|
|
} |
|
// On recoit une observation dont on veut afficher le detail |
|
if(nouvelleDonnees instanceof Observation) |
{ |
Observation obs = (Observation)nouvelleDonnees ; |
afficherDetailsObservation(obs) ; |
} |
|
// Sur Mise à jour ou suppression d'une suppression ? |
|
if(nouvelleDonnees instanceof String) |
{ |
String str = (String)nouvelleDonnees ; |
observationMediateur.obtenirNombreObservation() ; |
} |
|
if(nouvelleDonnees instanceof String[]) { |
String[] anumNom = (String[])nouvelleDonnees ; |
numeroNom = anumNom[1]; |
espece.setValue(anumNom[0]); |
setModification("false"); |
} |
|
} |
|
|
public void obtenirListeReferentielCommune() { |
|
String com=commune.getText().replaceAll(" ","/"); |
com=com.replaceAll("%",""); |
|
observationMediateur.obtenirListeReferentielCommune(this,com); |
|
} |
|
|
public void obtenirListeReferentielNom() { |
|
String esp=espece.getText().replaceAll(" ","/"); |
esp=esp.replaceAll("%",""); |
|
observationMediateur.obtenirListeReferentielNom(this,esp); |
|
} |
|
|
public void ajouterObservation() { |
|
if(departement.equals("000null") || departement.equals("")) { |
String[] depCom = commune.getText().split(" "); |
if(depCom.length > 1) { |
String dep = depCom[1].replace('(', ' '); |
dep =dep.replace(')', ' '); |
dep = dep.trim(); |
dep = dep.replace('\\',' '); |
dep = dep.trim(); |
|
try |
{ |
int nDep = Integer.parseInt(dep); |
if(nDep > 0 && nDep < 110) { |
departement = dep ; |
} |
} |
catch(NumberFormatException e) |
{ |
departement = "" ; |
} |
} |
} |
|
Observation obs=new Observation(espece.getText(),numeroNom,commune.getText(),departement,lieudit.getText(),station.getText(),milieu.getText(), comment.getText(),date.getRawValue()); |
observationMediateur.ajouterObservation(obs); |
} |
|
private void modifierObservation() { |
|
Observation obs=new Observation(espece.getText(),numeroNom,commune.getText(),departement,lieudit.getText(),station.getText(),milieu.getText(), comment.getText(),date.getRawValue()); |
obs.setNumeroOrdre(numeroOrdre); |
observationMediateur.modifierObservation(obs); |
|
} |
|
private void supprimerObservation() { |
|
observationMediateur.supprimerObservation(this, numeroOrdre); |
} |
|
|
public void afficherDetailsObservation(Observation obs) |
{ |
raz() ; |
char g ; |
|
String idLoc =obs.getIdentifiantLocalite().replaceAll(" ","/"); |
idLoc = idLoc.replaceAll("%",""); |
idLoc = idLoc.replaceAll("\"",""); |
idLoc = idLoc.replace('\\',' '); |
idLoc = idLoc.trim(); |
|
if(!obs.getDate().equals("null") && !obs.getDate().equals("000null")) { |
String[] dateEtHeure = obs.getDate().split(" ", 2); |
if(verifierFormatDate(dateEtHeure[0])) { |
date.setValue(dateEtHeure[0]) ; |
} |
else |
{ |
date.setRawValue(""); |
} |
} |
if(!obs.getLieudit().equals("null") && !obs.getLieudit().equals("000null")) { |
lieudit.setValue(obs.getLieudit()) ; |
} |
if(!obs.getStation().equals("null") && !obs.getStation().equals("000null")) { |
station.setValue(obs.getStation()) ; |
} |
if(!obs.getMilieu().equals("null") && !obs.getMilieu().equals("000null")) { |
milieu.setValue(obs.getMilieu()) ; |
} |
if(!obs.getCommentaire().equals("null") && !obs.getCommentaire().equals("000null")) { |
comment.setValue(obs.getCommentaire()) ; |
} |
if(!obs.getLocalite().equals("null") && !obs.getLocalite().equals("000null")) { |
if(!idLoc.equals("000null")) { |
commune.setValue(obs.getLocalite()+" ("+idLoc+")") ; |
} |
else |
{ |
commune.setValue(obs.getLocalite()); |
} |
} |
if(!obs.getIdentifiantLocalite().equals("null") && !obs.getIdentifiantLocalite().equals("000null")) { |
departement = idLoc; |
} |
if(!obs.getNomSaisi().equals("null") && !obs.getNomSaisi().equals("000null")) { |
espece.setValue(obs.getNomSaisi()) ; |
} |
if(!obs.getNumeroNomenclaturalSaisi().equals("null") && !obs.getNumeroNomenclaturalSaisi().equals("000null")) { |
numeroNom = obs.getNumeroNomenclaturalSaisi() ; |
} |
if(!obs.getNumeroOrdre().equals("null") && !obs.getNumeroOrdre().equals("000nu2ll")) { |
numeroOrdre = obs.getNumeroOrdre() ; |
} |
|
} |
|
|
public void raz() |
{ |
raz(Champs.TOUT); |
|
} |
public void raz(Champs champs) |
{ |
switch (champs) { |
|
|
case DATE: |
date.reset() ; |
break; |
|
case LIEUDIT: |
lieudit.reset() ; |
break; |
|
case STATION: |
station.reset() ; |
break; |
|
case MILIEU: |
milieu.reset() ; |
break; |
|
case COMMENT: |
comment.reset() ; |
break; |
|
|
case COMMUNE: |
milieu.reset() ; |
departement =""; |
break; |
|
case ESPECE: |
espece.reset(); |
numeroNom = "" ; |
numeroOrdre = ""; |
break; |
|
case TOUT: |
commune.reset(); |
date.reset() ; |
lieudit.reset() ; |
station.reset() ; |
milieu.reset() ; |
comment.reset() ; |
milieu.reset() ; |
departement =""; |
espece.reset(); |
numeroNom = "" ; |
numeroOrdre = ""; |
break; |
|
} |
|
} |
|
private void setModification(String mode) |
{ |
if(mode.equals("true")) { |
|
boutonOK.setText("Modifier") ; |
setTitle("Modification") ; |
boutonAnnuler.setText("Supprimer") ; |
modification = true ; |
selecteurMode.removeClass("x-selec-crea") ; |
selecteurMode.setCls("x-selec-modif") ; |
|
} |
else |
{ |
|
boutonOK.setText("Ajouter") ; |
setTitle("Saisir") ; |
boutonAnnuler.setText("Réinitialiser") ; |
modification = false ; |
selecteurMode.removeClass("x-selec-modif") ; |
selecteurMode.setCls("x-selec-crea") ; |
|
} |
} |
|
/** |
* renvoie vrai si on est en mode modification, faux si on est en mode création |
* @return |
*/ |
public boolean getModification() |
{ |
return modification ; |
} |
|
public boolean verifierFormatDate(String date) { |
|
String regex = "[1-9][0-9]{3}-[0-9]{2}-[0-9]{2}" ; |
if(date.matches(regex) && !date.equals("0000-00-00")) { |
return true ; |
} |
else { |
return false; |
} |
} |
|
private void ajusterTailleChamps() { |
|
int tailleChamps = (this.getInnerWidth()/100)*40; |
|
this.tailleChamps = tailleChamps ; |
|
commune.setWidth(tailleChamps); |
station.setWidth(tailleChamps); |
espece.setWidth(tailleChamps); |
lieudit.setWidth(tailleChamps); |
milieu.setWidth(tailleChamps); |
comment.setWidth(tailleChamps); |
|
} |
|
} |