/*
*comboKey permet de rajouter un keyListiner à une combobox
*/
private static void ComboKey(final JComboBox jcb, final String el){
final JTextComponent editor=(JTextComponent)jcb.getEditor().getEditorComponent();
if(loaded)
editor.setDoubleBuffered(true);
editor.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
}
public void keyReleased(java.awt.event.KeyEvent evt) {
//posi= editor.getCaretPosition();
if(evt.getKeyCode()==evt.VK_DELETE){
if(posi!=xbox.length()){
System.out.println(xbox.substring(0,posi));
System.out.println(xbox.substring(posi+1));
xbox=xbox.substring(0,posi)+xbox.substring(posi+1);
}
}
if(evt.getKeyCode()==evt.VK_RIGHT){
if(posi<xbox.length()){
posi=posi++;
change=true;
}else
change=false;
}else if(evt.getKeyCode()==evt.VK_LEFT){
if(posi>0){
posi=posi--;
change=true;
}
}
System.out.println("posi " + posi);
if(change)
editor.setCaretPosition(posi);
jcb.setPopupVisible(true);
if(evt.getSource()==txtDate.getEditor().getEditorComponent())
menu.dateNaissanceCompletion(jcb,evt);
if(evt.getKeyCode()==10){
jcb.setPopupVisible(false);
//permet de virer l'espace de fin s'il y en a un
if(jcb.getSelectedItem().toString().charAt(jcb.getSelectedItem().toString().length()-1)==' ')
jcb.setSelectedItem(jcb.getSelectedItem().toString().substring(0,jcb.getSelectedItem().toString().length()-1));
//le traitement continu
if(evt.getSource()==txtVille.getEditor().getEditorComponent()){
remplisCP(jcb,txtCP);
}
if(evt.getSource()==txtNom.getEditor().getEditorComponent()){
if(membreExiste()==0){
existeSaison=false;
existe=false;
}
}
if(evt.getSource()==txtPrenom.getEditor().getEditorComponent()){
if(membreExiste()==0){
existeSaison=false;
existe=false;
}
}
if(evt.getSource()==txtDate.getEditor().getEditorComponent())
if(membreExiste()!=0){
remplirMembreExistant(membreExiste());
ajout=true;
//modif=false;
regl=0;
if(jrEnfant.isSelected())
activeZoneTxtResp(true);
}else{
existeSaison=false;
existe=false;
}
jcb.transferFocus();
}
if(jcb.getItemCount()==0)
jcb.setPopupVisible(false);
}
public void keyTyped(java.awt.event.KeyEvent evt){
if((evt.getKeyChar()!=evt.VK_LEFT)&&(evt.getKeyChar()!=evt.VK_RIGHT)&&(evt.getKeyChar()!=evt.VK_UP)&&(evt.getKeyChar()!=evt.VK_DOWN)&&(evt.getKeyChar()!=evt.VK_PAGE_UP)&&(evt.getKeyChar()!=evt.VK_PAGE_DOWN)&&(evt.getKeyChar()!=evt.VK_INSERT)&&(evt.getKeyChar()!=evt.VK_END)&&(evt.getKeyChar()!=evt.VK_TAB)&&(evt.getKeyChar()!=evt.VK_BACK_SPACE)&&(evt.getKeyChar()!=evt.VK_DELETE)){
if(jcb.getEditor().getItem().toString().compareTo("")==0){
xbox=""+evt.getKeyChar();
} else{
if(!change){
xbox=jcb.getEditor().getItem().toString()+evt.getKeyChar(); //xbox= jcb.getSelectedItem().toString()+ evt.getKeyChar();
} else{
xbox=xbox.substring(0,posi)+evt.getKeyChar()+xbox.substring(posi);
change=true;
posi++;
}
}
if(xbox.endsWith("\n"))
xbox=xbox.substring(0,xbox.length()-1);
} else{
if((evt.getKeyChar()==evt.VK_BACK_SPACE)&&(xbox.length()>0)){
if(!change)
xbox = xbox.substring(0,xbox.length()-1);
else{
xbox=xbox.substring(0,posi-1)+xbox.substring(posi);
posi--;
if(posi<=0 && xbox.length()==0){
posi=0;
change=false;
xbox="";
}
}
}
}
jcb.setSelectedItem(xbox);
menu.remplisZoneDeroule(jcb,RequetteMembre(el),xbox);
if(change)
editor.setCaretPosition(posi);
evt.consume();
}
});
}
Partager