begin process at 2012 02 15 19:54:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Système

 > 

API

 > 

Remplir un TextField en Fonction D'une ComboBox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplir un TextField en Fonction D'une ComboBox

lundi 30 août 2010 à 14:29:18 | Remplir un TextField en Fonction D'une ComboBox

sarabarbarae

Bonjour à tous,j'ai besoin d'un petit coup de pousse;

Lorsque je sélectionne une valeur d'Une ComboBox je n'arriver pas à afficher le resultat ce cette valeur à partir d'une Base Données SqlServer 2005 dans TextField (Mon Mini Projet est en Java Eclipse et SQL Server2005)

Merci D'Avance
mardi 31 août 2010 à 11:21:21 | Re : Remplir un TextField en Fonction D'une ComboBox

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

C'est quoi que tu cherches à faire exactement ?
Remplir un champ texte avec la valeur sélectionnée dans ton combobox ?
Remplir un champ texte avec la valeur trouvée dans une db en utilisant la valeur sélectionnée dans ton combobox ?


Code d'exemple :
Code Java :
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Test extends JFrame implements ActionListener {
	private JComboBox			comboBox			= null;
	private JTextField			textField			= null;

	public static void main(final String[] args) {
		new Test().setVisible(true);
	}

	public Test() {
		final JPanel panel = new JPanel();
		panel.add(getComboBox());
		panel.add(getTextField());
		setContentPane(panel);
		getComboBox().setSelectedIndex(0);// pas oblige
		setDefaultCloseOperation(3);
		pack();
		setLocationRelativeTo(null);
	}

	private JComboBox getComboBox() {
		if (comboBox == null) {
			comboBox = new JComboBox();
			final DefaultComboBoxModel model = new DefaultComboBoxModel();
			for (int i = 1; i < 11; ++i)
				model.addElement("Item " + i);
			comboBox.setModel(model);
			comboBox.setPreferredSize(new Dimension(150, 20));
			comboBox.addActionListener(this);
		}
		return comboBox;
	}

	private JTextField getTextField() {
		if (textField == null) {
			textField = new JTextField();
			textField.setPreferredSize(new Dimension(150, 20));
		}
		return textField;
	}
	
	private void fillTextField(String value) {
		// cas 1
		getTextField().setText(value);
		// cas 2
		//recherche dans la db de la donnée que tu veux
		//......
	}

	public void actionPerformed(final ActionEvent e) {
		final Object o = e.getSource();
		if (o.equals(getComboBox())) {
			fillTextField("" + getComboBox().getSelectedItem());
		}
	}
}





------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
mardi 31 août 2010 à 16:09:33 | Re : Remplir un TextField en Fonction D'une ComboBox

Kidator

Salut,

je ne sais pas sql mais regarde ce lien :

http://www.javafr.com/forum/sujet-REMPLIR-COMBOBOX-PARTIR-BASE-DONNEE_1254650.aspx

Bonne chance!

Kidator.


mardi 31 août 2010 à 20:07:00 | Re : Remplir un TextField en Fonction D'une ComboBox

sarabarbarae

Merci Bcp pour ces reponses;
Mais ça n'a pas marché votre code Mr. Twinuts
Au faite!! c'est " Remplir un champ texte avec la valeur trouvée dans une db en utilisant la valeur sélectionnée dans ton combobox automatiquement va être afficher "
je doute au niveau de la methode "remplir_t1" et je ne sais pas ou je vais l'appeler pous qu'elle s'affiche automatiquement dans le TextField
Je vais vous montrer mon code:




Code Java :
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JDesktopPane;
import java.awt.Color;
import java.awt.SystemColor;
import javax.swing.JComboBox;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JTextPane;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JProgressBar;
import javax.swing.table.DefaultTableModel;

public class ModifierMat extends JFrame {

	
	private static final long serialVersionUID = 1L;
	private ResultSet rs;
	private ResultSetMetaData rm;
	private DefaultTableModel model;
	private JPanel jContentPane = null;
	private static Statement st;  //  @jve:decl-index=0:
	private static JFrame jFrame;
	private JDesktopPane jDesktopPane = null;
	private static JComboBox jc = null;
	private JLabel NumSerie_l = null;
	private JLabel DateInstallation_l = null;
	private JLabel Marque_l = null;
	private JLabel Etat_l = null;
	private JLabel Type_l = null;
	private static JTextField DateInstallation_t = null;
	private JButton quitter = null;
	private JButton Modifier = null;
	private JLabel Titre = null;
	private static JComboBox jc2 = null;
	private static JComboBox jc1 = null;
	private static JComboBox jc3 = null;
	private JTextField t1 = null;
	private JTextField t2 = null;
	private JTextField t3 = null;
	/**
	 * This is the default constructor
	 */
	public ModifierMat() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(751, 486);
		this.setContentPane(getJContentPane());
		this.setTitle("Modifier Materiel");
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
			jContentPane.add(getJDesktopPane(), BorderLayout.CENTER);
		}
		return jContentPane;
	}

	
	/**
	 * This method initializes jDesktopPane	
	 * 	
	 * @return javax.swing.JDesktopPane	
	 */
	private JDesktopPane getJDesktopPane() {
		if (jDesktopPane == null) {
			Titre = new JLabel();
			Titre.setBounds(new Rectangle(122, 40, 301, 47));
			Titre.setFont(new Font("Footlight MT Light", Font.BOLD, 30));
			Titre.setForeground(Color.white);
			Titre.setText("  Modifier Materiel");
			Type_l = new JLabel();
			Type_l.setBounds(new Rectangle(29, 271, 172, 36));
			Type_l.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			Type_l.setForeground(SystemColor.controlHighlight);
			Type_l.setText(" Type Du Materiel");
			Marque_l = new JLabel();
			Marque_l.setBounds(new Rectangle(30, 315, 199, 34));
			Marque_l.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			Marque_l.setForeground(SystemColor.controlHighlight);
			Marque_l.setText(" Marque  Du Materiel");
			Etat_l = new JLabel();
			Etat_l.setBounds(new Rectangle(30, 223, 173, 36));
			Etat_l.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			Etat_l.setForeground(SystemColor.controlHighlight);
			Etat_l.setText(" Etat Du Materiel ");
			DateInstallation_l = new JLabel();
			DateInstallation_l.setBounds(new Rectangle(30, 167, 173, 30));
			DateInstallation_l.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			DateInstallation_l.setForeground(SystemColor.controlHighlight);
			DateInstallation_l.setText(" Date d'Installation");
			NumSerie_l = new JLabel();
			NumSerie_l.setBounds(new Rectangle(30, 121, 175, 30));
			NumSerie_l.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			NumSerie_l.setForeground(SystemColor.controlHighlight);
			NumSerie_l.setText(" Numéro De Serie");
			jDesktopPane = new JDesktopPane();
			jDesktopPane.setForeground(SystemColor.controlHighlight);
			jDesktopPane.setBackground(SystemColor.activeCaption);
			jDesktopPane.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jDesktopPane.add(getJc(), null);
			jDesktopPane.add(NumSerie_l, null);
			jDesktopPane.add(DateInstallation_l, null);
			jDesktopPane.add(Etat_l, null);
			jDesktopPane.add(Marque_l, null);
			jDesktopPane.add(Type_l, null);
			jDesktopPane.add(getDateInstallation_t(), null);
			jDesktopPane.add(getQuitter(), null);
			jDesktopPane.add(getModifier(), null);
			jDesktopPane.add(Titre, null);
			jDesktopPane.add(getJc2(), null);
			jDesktopPane.add(getJc1(), null);
			jDesktopPane.add(getJc3(), null);
			jDesktopPane.add(getT1(), null);
			jDesktopPane.add(getT2(), null);
			jDesktopPane.add(getT3(), null);
		}
		return jDesktopPane;
	}
	
	/*
	------ Method de remplissage du jComboBox NumSerie -----*/ 

	public void remplir_JCombo(){
		 try {
			String s="select NumSerie from Materiel";
			Statement st=Accueil.con.createStatement();
			ResultSet rst=st.executeQuery(s);


			while(rst.next()){
				jc.addItem( rst.getObject(1));
			}

			
		} catch (SQLException e) {
			// TODO Bloc catch auto-généré
			e.printStackTrace();
		}
		 
	}
	
	/*
	------ Method de remplissage du jComboBox Etat -------*/ 

	public void remplir_JComboEtat(){
		 try {
			String s="select RefEtat from EtatMateriel";
			Statement st=Accueil.con.createStatement();
			ResultSet rst=st.executeQuery(s);


			while(rst.next()){
				jc1.addItem( rst.getObject(1));
			}

			
		} catch (SQLException e) {
			// TODO Bloc catch auto-généré
			e.printStackTrace();
		}
		 
	}
	
	
	/*---- Method de remplissage du jComboBox Type ----*/ 

	public void remplir_JComboType(){
		 try {
			String s="select RefType from TypeMateriel";
			Statement st=Accueil.con.createStatement();
			ResultSet rst=st.executeQuery(s);


			while(rst.next()){
				jc2.addItem( rst.getObject(1));
			}

			
		} catch (SQLException e) {
			// TODO Bloc catch auto-généré
			e.printStackTrace();
		}
		 
	}
	
	/*---- Method de remplissage du jComboBox Marque ----*/ 

	public void remplir_JComboMarque(){
		 try {
			String s="select RefMarque from Marque";
			Statement st=Accueil.con.createStatement();
			ResultSet rst=st.executeQuery(s);


			while(rst.next()){
				jc3.addItem( rst.getObject(1));
			}

			
		} catch (SQLException e) {
			// TODO Bloc catch auto-généré
			e.printStackTrace();
		}
		 
	}
	
	
	/*------ Methode de Remplissage JTextField t1 ------*/
	public static void remplir_t1(){
		 
		try {
			if(jc1.getSelectedItem().toString()!=null){
			String s="select libelle from EtatMateriel where RefEtat='"+(String)jc1.getSelectedItem()+"'";
			Statement st=Accueil.con.createStatement();
			ResultSet rst=st.executeQuery(s);
			
					
			
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	
	/*------Remplir ComboBox Numeros de series du Materiel -----*/
		
	private JComboBox getJc() {
		if (jc == null) {
			jc = new JComboBox();
			jc.setBounds(new Rectangle(288, 120, 235, 28));
			remplir_JCombo();
			add(jc);
					}
		return jc;
	}

	/**
	 * This method initializes Nom_t	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getDateInstallation_t() {
		if (DateInstallation_t == null) {
			DateInstallation_t = new JTextField();
			DateInstallation_t.setBounds(new Rectangle(288, 171, 236, 28));
		}
		return DateInstallation_t;
	}
/*-------------  Modifier Materiel  -----------*/
	
	public static void ModifMat(){
		 
		try {
			
			st=Accueil.con.createStatement();
			st.executeUpdate("update Materiel set DateInstallation='"+DateInstallation_t.getText()+"' ,RefEtat='"+jc1.getSelectedItem()+"' ,RefType='"+ jc2.getSelectedItem()+"' ,RefMarque='"+jc3.getSelectedItem()+"'  where NumSerie='"+jc.getSelectedItem().toString()+"'");
			JOptionPane.showMessageDialog(jFrame, "Modification avec succés","Confirmation", JOptionPane.INFORMATION_MESSAGE, null);
			st.close();
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	
	/**
	 * This method initializes Modifier	
	 * 	
	 * @return javax.swing.JButton	
	 */
	public static void mouseClicked(MouseEvent event) {
	    System.out.println("mouse clicked");
	    }
	
	private JButton getModifier() {
		if (Modifier == null) {
			Modifier = new JButton();
			Modifier.setBounds(new Rectangle(396, 378, 97, 28));
			Modifier.setForeground(SystemColor.activeCaption);
			Modifier.setFont(new Font("Dialog", Font.BOLD, 14));
			Modifier.setText("Modifier");
			Modifier.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					ModifMat();
				}
			});
		}
		return Modifier;
	}

	/**
	 * This method initializes jc2	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getJc2() {
		if (jc2 == null) {
			jc2 = new JComboBox();
			jc2.setBounds(new Rectangle(287, 269, 100, 28));
			remplir_JComboType();
			add(jc2);
		
		}
		return jc2;
	}

	/**
	 * This method initializes jc1	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getJc1() {
		if (jc1 == null) {
			jc1 = new JComboBox();
			jc1.setBounds(new Rectangle(287, 222, 99, 29));
			remplir_JComboEtat();
			add(jc1);
			
					
		}
		return jc1;
	}

	/**
	 * This method initializes jc3	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getJc3() {
		if (jc3 == null) {
			jc3 = new JComboBox();
			jc3.setBounds(new Rectangle(287, 316, 98, 27));
			remplir_JComboMarque();
			add(jc3);
		
		}
		return jc3;
	}

	/**
	 * This method initializes t1	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getT1() {
		if (t1 == null) {
			t1 = new JTextField();
			t1.setBounds(new Rectangle(388, 224, 136, 26));
						t1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					remplir_t1();
					add(t1);
				}
			});
		}
			
		return t1;
	}
	
	private void fillTextField(String value) {
		getT1().setText(value);
		
	}
	
	
	public void actionPerformed(final ActionEvent e) {
		final Object o = e.getSource();
		if (o.equals(getJc1())) {
			fillTextField("" + getJc1().getSelectedItem());
		}
	}
	
	

	/**
	 * This method initializes t2	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getT2() {
		if (t2 == null) {
			t2 = new JTextField();
			t2.setBounds(new Rectangle(388, 270, 136, 27));
		}
		return t2;
	}

	/**
	 * This method initializes t3	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getT3() {
		if (t3 == null) {
			t3 = new JTextField();
			t3.setBounds(new Rectangle(386, 315, 138, 27));
		}
		return t3;
	}

/**
 * This method initializes quitter	
 * 	
 * @return javax.swing.JButton	
	 */
	private JButton getQuitter() {
		if (quitter == null) {
			quitter = new JButton();
			quitter.setBounds(new Rectangle(493, 378, 88, 28));
			quitter.setForeground(SystemColor.activeCaption);
			quitter.setFont(new Font("Dialog", Font.BOLD, 14));
			quitter.setText("Quitter");
			quitter.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					mouseClicked(null);
					dispose();
				}
			});
		}
		return quitter;
	}
}

mercredi 1 septembre 2010 à 12:44:27 | Re : Remplir un TextField en Fonction D'une ComboBox

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

Questions :
- Pourquoi tu n'ajoutes pas d'action listener sur le comboBox jc1 ??
- Meme si tu ajoutes le listener au combo tel qu'est ton code ça ne fonctionnera jamais.

Personnellement en regardant les fautes que tu fais dans ton code j'en déduit que tu ne maitrises pas vraiment la notion de listeners sur les composants swing et je te conseil très fortement a(vant même de continuer) de te remettre à niveau dessus.


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
mercredi 1 septembre 2010 à 13:15:25 | Re : Remplir un TextField en Fonction D'une ComboBox

sarabarbarae

Oui effectivement!!
chui débutante en java.et j'aimerais bien travailler avec.
Mais au niveau du combo ça marche très bien avec ou sans action listener,
mercredi 1 septembre 2010 à 13:29:50 | Re : Remplir un TextField en Fonction D'une ComboBox

sarabarbarae

Pourriez vous m'aider juste au niveau ; lorsque je sélectionne l'un des valeurs du combo par exemple jc1 de retourner la même valeur sur un TextField t1.
NB:le ComboBox jc1 est déjà remplit par des valeurs d'un champs d'une table
mercredi 1 septembre 2010 à 14:47:06 | Re : Remplir un TextField en Fonction D'une ComboBox

Twinuts

Membre Club Administrateur CodeS-SourceS

Salut,

les notifications sur les sélections d'un JComboBox peuvent se faire avec le rattachement d'un ActionListener su ce dernier.
Regarde bien ce que je fais dans le code d'exemple que je t'ai fourni plus haut... et ESSAYE le.

En le regardant plus attentivement tu peux voir les lignes importantes :

public class Test extends JFrame implements ActionListener {
...

private JComboBox getComboBox() {
if (comboBox == null) {
...
comboBox.addActionListener(this);
}
return comboBox;
}
...
// Cette méthode est appelée lors d'un clic sur le combobox ou encore d'un appel de la méthode setSelectedIndex/setSelectedItem du combo
public void actionPerformed(final ActionEvent e) {
final Object o = e.getSource();
if (o.equals(getComboBox())) {
fillTextField("" + getComboBox().getSelectedItem());
}
}

}



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
mercredi 1 septembre 2010 à 15:08:12 | Re : Remplir un TextField en Fonction D'une ComboBox

sarabarbarae


Je vais essayer encore une fois, et Merci Bcp pour ton aide
mercredi 1 septembre 2010 à 15:40:40 | Re : Remplir un TextField en Fonction D'une ComboBox

sarabarbarae


Re Salut:
Pourriez vous m'expliquer plus si vous permettez la méthode fillTextField(String value) et a quoi sert au juste et surtout s'appuyer sur le deuxième cas (Recherche dans la base donnée)

1 2

Cette discussion est classée dans : combobox, fonction, remplir, color, textfield


Répondre à ce message

Sujets en rapport avec ce message

Selectionne dans ComboBox et afficher a parti d'une BD ds TextField [ par touri84 ] Voila le probleme que j ai : je veux afficher dans des  TextField des informations(nom,prenom,..) d'une base de donnee concernant un numero  selection combobox+textfield [ par saratsdi ] salut tous le monde,quand on choisi dans un combobox je veux q'il affiche le choix dans un textfieldalors si vous avez une idée j'en ai vraiment besoi Remplir un comboBox à partir d'une base de donnée [ par massbbc ] Bonjour suis débutant et j'utilise une base de donnée Mysql. j'aimerai savoir comment affecter une valeur d'un champ d'une base de donnée à un Combobo Remplir un combobox a partir d'une base de donnée postgreSQL [ par chassan86 ] Je vous pris de m'aider a remplir un combobox a partir d'une base de donnée postgreSQL le champ dont les valeurs que je veux afficher dans le combo es appel d'une fonction [ par nirvana222 ] salut, comment je peux faire l'appel de la fonction"[color=red]Insert[/color]" quand je fais l'execution de ce fichier a netbeans, elle se lance autom remplir un combobox [ par linaing ] [^^!1] Bonjour a tous, je suis débutante en JAVA ,et j'ai un problème avec les combobox ,j'ai un fichier ,je veux récupérer les mots suivants Base-don Remplir comboBox à partir d'une bd my sql avec Gwt spring hibernate [ par enigma1505 ] Bonjour , je suis encore débutant en j2ee , je developpe une application avec Gwt , spring hibernate mysql... je ne sais pas comment on fait pour remp Problème avec JComboBox [ par ramine1980 ] bonjour, j'utilise Swing, j'ai un comboBox de type "JComboBox", je veux que lorsque l'utilisateur passe la souri sur ce Combo faire un traitement, j' Items d'une ComboBox masqués par un TextField [ par Danalan69 ] Bonjour,Je suis une petite débutante en Java. J'ai fait une interface graphique toute simple pour que l'utilisateur saisisse des informations. J'ai un Attente d'un clic [ par bond_never_die ] Bonjour à tous, Voilà, j'ai un petit souci avec une application que je suis en train de développer : La fonction qui me prose problème doit normalemen


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,883 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales