Programmation JAVA
TSniper
Messages postés
796
Statut
Membre
-
TSniper Messages postés 796 Statut Membre -
TSniper Messages postés 796 Statut Membre -
Bonjour,
Bonjour,
"le tableau de mon fichier Java""
c'est un tableau de type ouvrier (ouvrier {string nom;string prénom;int salaire;})
il est déclaré dans mon fichier *.java qui contient le main.
Bon je vais faire une interface graphique avec des zone de texte où l'utilisateur va entrer les données( salaire, nom,prénom) et je veut récupérer ces données et les mettre dans le tableau.
RQ:
- mon fichier java est déjà prés mais l'interfaçe graphique est encours de concept.
- SVP éviter de me mettre des lien de tutoriels en anglais ou venant du site sun je l'ai déjà vu mais rien compris, il vaut mieux qu'il ne soit pas en anglais.
Merci
Qui peut m'aider
moi j'utilise netbeans 5.5
Bonjour,
"le tableau de mon fichier Java""
c'est un tableau de type ouvrier (ouvrier {string nom;string prénom;int salaire;})
il est déclaré dans mon fichier *.java qui contient le main.
Bon je vais faire une interface graphique avec des zone de texte où l'utilisateur va entrer les données( salaire, nom,prénom) et je veut récupérer ces données et les mettre dans le tableau.
RQ:
- mon fichier java est déjà prés mais l'interfaçe graphique est encours de concept.
- SVP éviter de me mettre des lien de tutoriels en anglais ou venant du site sun je l'ai déjà vu mais rien compris, il vaut mieux qu'il ne soit pas en anglais.
Merci
Qui peut m'aider
moi j'utilise netbeans 5.5
A voir également:
- Programmation JAVA
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
4 réponses
Re,
Plutot que d'utiliser un tableau je te conseille de manipuler une ArrayList. Pourquoi ? Simplement car ce que tu veux faire c'est pouvoir ajouter un nombre indéfini d'Ouvrier avec ton interface. Or pour manipuler un tableau tu es obligé de fixer sa longueur à l'avance pour y ajouter des éléments (ou alors la recalculer à chaque fois).
Comme tout bon programmeur le sait, inutile de réinventer la roue, donc j'ai utiliser une ArrayList d'objet Ouvrier.
Voilà la classe Ouvrier, qui reprends grossomodo ce que tu as déjà fait normalement :
Note: les setters / getters ne sont pas obligatoire, c'est juste une méthode de programmation que je trouve plus claire.
Une classe principale :
Dans laquelle j'ai fais une petite interface (note bien que j'ai simplement programmé et pas testé, donc l'interface n'est peut être pas bonne), juste pour avoir une idée de comment implémenter le code pour faire ce que tu veux faire.
Un bouton, qui lorsque l'on clique dessus va reprendre les valeurs de tes champs 'nom', 'prenom' et 'salaire', faire quelques contrôles dessus et s'ils sont valide, ajouter le nouvel Ouvrier.
Si j'ai bien compris c'est quelque chose comme ça que tu souhaite faire ?
Plutot que d'utiliser un tableau je te conseille de manipuler une ArrayList. Pourquoi ? Simplement car ce que tu veux faire c'est pouvoir ajouter un nombre indéfini d'Ouvrier avec ton interface. Or pour manipuler un tableau tu es obligé de fixer sa longueur à l'avance pour y ajouter des éléments (ou alors la recalculer à chaque fois).
Comme tout bon programmeur le sait, inutile de réinventer la roue, donc j'ai utiliser une ArrayList d'objet Ouvrier.
Voilà la classe Ouvrier, qui reprends grossomodo ce que tu as déjà fait normalement :
public class Ouvrier {
private String name = null;
private String surname = null;
private int money = 0;
/**
* Ouvrier
* Default class constructor
* @param theName
* @param theSurname
*/
public Ouvrier ( String theName, String theSurname ){
setName(theName);
setSurname(theSurname);
setMoney(0);
}
/**
* Ouvrier
* Main class constructor
* @param theName
* @param theSurname
* @param theMoney
*/
public Ouvrier ( String theName, String theSurname, int theMoney ){
setName(theName);
setSurname(theSurname);
setMoney(theMoney);
}
/***********************/
/** SETTERS & GETTERS **/
/***********************/
public void setName ( String theName ){
this.name = theName;
}
public String getName ( ){
return this.name;
}
public void setSurname ( String theName ){
this.surname = theName;
}
public String getSurname ( ){
return this.surname;
}
public void setMoney ( int theNum ){
this.money = theNum;
}
public int getMoney ( ){
return this.money;
}
}
Note: les setters / getters ne sont pas obligatoire, c'est juste une méthode de programmation que je trouve plus claire.
Une classe principale :
public class CreateOuvrier extends JFrame {
private ArrayList ouvriers = null;
private JTextField name = null;
private JTextField surname = null;
private JTextField money = null;
/**
* CreateOuvrier
* Default class constructor
*/
public CreateOuvrier ( ){
super();
init();
this.setSize(800,600);
this.setVisible(true);
}
private void init(){
// --- Set content pane
JPanel myMainPanel = new JPanel();
myMainPanel.setLayout(new GridLayout(4,2)); // --- 4 lignes et 2 colones
this.setContentPane( myMainPanel );
name = new JTextField();
surname = new JTextField();
money = new JTextField();
JLabel name_label = new JLabel("Nom : ");
JLabel surname_label = new JLabel("Prenom : ");
JLabel money_label = new JLabel("Salaire : ");
// --- Ajout d'un bouton pour ajouter l'ouvrier
JButton submit = new JButton("Ajouter");
// --- Ainsi qu'une action lorsque l'on clique dessus pour valider l'ajout
submit.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
// APPEL DE LA METHODE DE VALIDATION ET D'AJOUT D'UN OUVRIER
addOuvrier();
}
});
// --- Ajout des éléments graphique dans le panel principale
myMainPanel.add(name_label);
myMainPanel.add(name);
myMainPanel.add(surname_label);
myMainPanel.add(surname);
myMainPanel.add(money_label);
myMainPanel.add(money_label);
myMainPanel.add(submit);
}
/**
* addOuvrier
* Permet d'ajouter un ouvrier selon les champs remplis
*/
protected void addOuvrier ( ){
// --- Retrieve data from fields
String myName = name.getText();
String mySurname = surname.getText();
String myMoney = money.getText();
// --- Check if all fields are valid
// 1°) NAME
if ( myName.trim().equalsIgnoreCase("") ){
JOptionPane.showMessageDialog(null,"Champ requis : nom");
return;
}
// 2°) SURNAME
if ( mySurname.trim().equalsIgnoreCase("") ){
JOptionPane.showMessageDialog(null,"Champ requis : prénom");
return;
}
// 3°) MONEY
if ( myMoney.trim().equalsIgnoreCase("") ){
// --- Set default value '0' if no filled
myMoney = "0";
}
// 4°) MONEY has integer value ?
int myIntMoney = 0;
try{
myIntMoney = Integer.parseInt(myMoney);
}catch (NumberFormatException e){
JOptionPane.showMessageDialog(null,"Le salaire doit avoir une valeur numérique");
return;
}
// 5°) Check if ouvrier to add is already present in the list
if ( findOuvrier(myName,mySurname) != null ){
JOptionPane.showMessageDialog(null,"Cet ouvrier est déjà présent dans la liste. Ajout impossible.");
return;
}
// --- All the data are ok, so add a new Ouvrier to the list
Ouvrier myNewOuvrier = new Ouvrier(myName,mySurname,myIntMoney);
getOuvriers().add(myNewOuvrier);
// --- Reset fields values
name.setText("");
surname.setText("");
money.setText("");
// --- And alert the user : new Ouvrier added to the list
JOptionPane.showMessageDialog(null,"Nouvel ouvrier ajouté avec succès !");
}
private Ouvrier findOuvrier ( String theName, String theSurname ){
boolean found = false;
int i = 0;
Ouvrier myCurrOuvrier = null;
while ( !found && i < getOuvriers().size() ){
myCurrOuvrier = (Ouvrier)getOuvriers().get(i);
if ( myCurrOuvrier.getName().trim().equalsIgnoreCase(theName)
&& myCurrOuvrier.getSurname().trim().equalsIgnoreCase(theSurname) )
found = true;
else
i++;
}
if ( found )
return myCurrOuvrier;
else
return null;
}
/***********************/
/** GETTERS & SETTERS **/
/***********************/
public void setOuvriers ( ArrayList theList ){
this.ouvriers = theList;
}
public ArrayList getOuvriers ( ){
return this.ouvriers;
}
}
Dans laquelle j'ai fais une petite interface (note bien que j'ai simplement programmé et pas testé, donc l'interface n'est peut être pas bonne), juste pour avoir une idée de comment implémenter le code pour faire ce que tu veux faire.
Un bouton, qui lorsque l'on clique dessus va reprendre les valeurs de tes champs 'nom', 'prenom' et 'salaire', faire quelques contrôles dessus et s'ils sont valide, ajouter le nouvel Ouvrier.
Si j'ai bien compris c'est quelque chose comme ça que tu souhaite faire ?
Bonjour,
Je crois que tu as tout simplement oublié de dire ce que tu voulais réellement ^^
Effectivement tu travaille sur une interface pour remplir ton tableau d'Ouvrier. La classe Ouvrier contient principalement trois propriété, à savoir nom, prenom et salaire, respectivement de type String, String et int.
Mais que veux-tu exactement ? Sur quel difficulté technique bloques-tu ?
As-tu du code déjà fait concernant ton interface graphique que tu pourrais poster ici afin qu'on voit où tu en es ?
Je crois que tu as tout simplement oublié de dire ce que tu voulais réellement ^^
Effectivement tu travaille sur une interface pour remplir ton tableau d'Ouvrier. La classe Ouvrier contient principalement trois propriété, à savoir nom, prenom et salaire, respectivement de type String, String et int.
Mais que veux-tu exactement ? Sur quel difficulté technique bloques-tu ?
As-tu du code déjà fait concernant ton interface graphique que tu pourrais poster ici afin qu'on voit où tu en es ?