IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Swing Formulaire réponses


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre régulier
    Profil pro
    Technicien Informatique
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien Informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 89
    Points
    89
    Par défaut Swing Formulaire réponses
    Bonjour à tous !

    Je souhaite créer un formulaire qui me permette de récupérer la valeur de chaque JtextField

    voici mon code il est fonctionnel à quelques petits détails pret
    je souhaiterais aligner le bouton valider au centre et choisir la couleur des cellules
    pourriez vous svp m'expliquer comment y parvenir ? ( Peut être en utilisant plusieurs Layout différents ?)
    le but final étant de créer un fichier image et un fichier HTML qui recupère l'ensemble des réponses
    de ce formulaire.

    Merci d'avance pour vos conseils !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
     
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
     
    public class Fenetre extends JFrame implements ActionListener {
        private JPanel Pan=new JPanel();
        private JLabel JLB=new JLabel(" NOM");
        private JTextArea JTA=new JTextArea(" Préciser votre nom");  
        private JLabel JLB1=new JLabel(" PRENOM");
        private JTextArea JTA1=new JTextArea(" Préciser votre prénom");
        private JLabel JLB2=new JLabel(" PÔLE");
        private JTextArea JTA2=new JTextArea(" Préciser votre Pôle");
        private JLabel JLB3=new JLabel(" TEL FIXE");
        private JTextArea JTA3=new JTextArea(" Préciser votre N° de Tél Fixe");
        private JLabel JLB4=new JLabel(" TEL PORTABLE");
        private JTextArea JTA4=new JTextArea(" Préciser votre N° de Tél Portable");
        private JLabel JLB5=new JLabel(" FAX");
        private JTextArea JTA5=new JTextArea(" Préciser votre N° de Fax");
        private JLabel JLB6=new JLabel(" EMAIL");
        private JTextArea JTA6=new JTextArea(" Préciser votre adresse Email");
        private JCheckBox JCB=new JCheckBox("Afficher Adresse");
        private JCheckBox JCB1=new JCheckBox("Afficher Bandeau");
        private JButton JB=new JButton("Valider");
        private final GridLayout G;
     
        public Fenetre(){
     
        this.setTitle("Logiciel Signature Outlook");
        this.setSize(500,500);
        //this.setBackground(Color.yellow);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);             
        this.setVisible(true);
        this.setContentPane(Pan);               
        this.setVisible(true);
        Pan.setLayout(G=new GridLayout(10,2));
        G.setHgap(10); //Cinq pixels d'espace entre les colonnes (H comme Horizontal)
        G.setVgap(10);
        JLB.setBackground(Color.green);
     
        Pan.add(JLB);
        Pan.add(JTA);
        Pan.add(JLB1);
        Pan.add(JTA1);
        Pan.add(JLB2);
        Pan.add(JTA2);
        Pan.add(JLB3);
        Pan.add(JTA3);
        Pan.add(JLB4);
        Pan.add(JTA4);
        Pan.add(JLB5);
        Pan.add(JTA5);
        Pan.add(JLB6);
        Pan.add(JTA6);
        Pan.add(JCB);
        Pan.add(JCB1);
        Pan.add(JB);
     
        }
     
        public void actionPerformed(ActionEvent e) {
            // throw new UnsupportedOperationException("Not supported yet."); //To  change body of generated methods, choose Tools | Templates.
        if(e.getSource()==JB){
        System.out.println("Formulaire validé");
        }
        else {
        System.out.println("Formulaire non validé");
        }
     
        }
     
     
     
     
    }
    Jean Marc

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Points : 93
    Points
    93
    Par défaut
    Je te propose ça pour commencer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.List;
     
    import javax.swing.BorderFactory;
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    public class Fenetre extends JFrame implements ActionListener {
    	private JPanel		pan;
    	private JLabel		JLB;
    	private JTextField	JTA;
    	private JLabel		JLB1;
    	private JTextField	JTA1;
    	private JLabel		JLB2;
    	private JTextField	JTA2;
    	private JLabel		JLB3;
    	private JTextField	JTA3;
    	private JLabel		JLB4;
    	private JTextField	JTA4;
    	private JLabel		JLB5;
    	private JTextField	JTA5;
    	private JLabel		JLB6;
    	private JTextField	JTA6;
    	private JCheckBox	JCB;
    	private JCheckBox	JCB1;
    	private JButton		JB;
    	public Fenetre() {
     
    		this.setTitle("Logiciel Signature Outlook");
    		this.setSize(500, 500);
    		// this.setBackground(Color.yellow);
    		this.setLocationRelativeTo(null);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setContentPane(pan = new JPanel());
    		pan.setLayout(new BoxLayout(pan,BoxLayout.Y_AXIS));
     
    		Container fields = new Container();
    		GridLayout fieldsLayout = new GridLayout(8,2);
    		fields.setLayout(fieldsLayout);
    		fieldsLayout.setVgap(10);
     
    		for (Component comp : initFields())
    			fields.add(comp);
     
    		Container JBcontainer = new Container();
    		JBcontainer.setLayout(new FlowLayout(FlowLayout.CENTER));
    		JBcontainer.add(JB = new JButton("Valider"));
     
    		pan.add(fields);
    		pan.add(JBcontainer);
     
                    this.pack();
    		this.setLocationRelativeTo(null);
    		this.setVisible(true);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    	private List<Component> initFields() {
    		ArrayList<Component> result = new ArrayList<>();
    		result.add(JLB	= new JLabel(" NOM"));
    		result.add(JTA	= new JTextField(" Préciser votre nom"));
    		JTA.setBackground(Color.lightGray);
    		result.add(JLB1	= new JLabel(" PRENOM"));
    		result.add(JTA1	= new JTextField(" Préciser votre prénom"));
    		result.add(JLB2	= new JLabel(" PÔLE"));
    		result.add(JTA2	= new JTextField(" Préciser votre Pôle"));
    		JTA2.setBackground(Color.lightGray);
    		result.add(JLB3	= new JLabel(" TEL FIXE"));
    		result.add(JTA3	= new JTextField(" Préciser votre N° de Tél Fixe"));
    		result.add(JLB4	= new JLabel(" TEL PORTABLE"));
    		result.add(JTA4	= new JTextField(" Préciser votre N° de Tél Portable"));
    		JTA4.setBackground(Color.lightGray);
    		result.add(JLB5	= new JLabel(" FAX"));
    		result.add(JTA5	= new JTextField(" Préciser votre N° de Fax"));
    		result.add(JLB6	= new JLabel(" EMAIL"));
    		result.add(JTA6	= new JTextField(" Préciser votre adresse Email"));
    		JTA6.setBackground(Color.lightGray);
    		result.add(JCB	= new JCheckBox("Afficher Adresse"));
    		result.add(JCB1	= new JCheckBox("Afficher Bandeau"));
    		return result;
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		// throw new UnsupportedOperationException("Not supported yet."); //To
    		// change body of generated methods, choose Tools | Templates.
    		if (e.getSource() == JB) {
    			System.out.println("Formulaire validé");
    		} else {
    			System.out.println("Formulaire non validé");
    		}
     
    	}
     
    	public static void main(String[] args) {
    		new Fenetre();
    	}
    }
    Voici ce que j'ai changé :

    - quelques noms de variable (mais globalement ils étaient presque tous pas top j'ai pas tout rectifié. Attention à respecter les conventions de nommage en Java)

    - l'initialisation des composants. Je trouve ça bien plus propre de procéder ainsi. Si un jour la fenêtre évolue tu pourras écrire d'autres méthodes initX() selon tes besoins

    - rajout de deux Layout et autant de Container pour se rapprocher de l'effet désiré. Cette façon de faire est un peu tirée par les cheveux mais je ne me suis jamais servi du GridBagLayout, qui sert en partie à ça. Si jamais tu veux essayer voici un lien, c'est un Layout puissant, même s'il est plus pénible à utiliser que les autres (http://docs.oracle.com/javase/tutori...t/gridbag.html)

    - changé les JTextArea en JTextField qui sont ici bien plus adaptés

    - changé la couleur d'un champ sur 2

    Par contre ça j'y ai pas touché mais c'est assez pénible pour l'utilisateur de devoir effacer le contenu pré-rempli des JTextField. Je sais pas si l'équivalent de l'attribut HTML "placeholder" existe en Swing (je pense que non) mais ça doit pas être super dur à implanter. Dis-moi si des choses ne te conviennent pas.

  3. #3
    Membre régulier
    Profil pro
    Technicien Informatique
    Inscrit en
    Février 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien Informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 187
    Points : 89
    Points
    89
    Par défaut Génial
    Merci beaucoup pour ton aide. Tu es vraiment très fort !
    Je vais potasser le code que tu m'a transmis ajouter la gestion des événements puis je vais passer à l'étape suivante
    la création des fichiers image et html... ce petit projet m'a l'air très formateur mine de rien !
    Jean Marc

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Points : 93
    Points
    93
    Par défaut
    Non c'est pas grand chose et en plus on pouvait faire mieux avec un GridBagLayout je pense ^^. Mais bon content que ça t'ai aidé

Discussions similaires

  1. sélection dans formulaire réponse dans état
    Par alice81 dans le forum IHM
    Réponses: 13
    Dernier message: 18/07/2007, 15h38
  2. [Débutant]Organisation de projet Swing, Formulaires !
    Par 17mounir dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 23/08/2006, 17h14
  3. [ swing ] LayoutManager pour formulaires
    Par Invité dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/02/2006, 18h36
  4. attente réponse utilisateur dans un formulaire
    Par Australia dans le forum Access
    Réponses: 11
    Dernier message: 25/01/2006, 15h49
  5. [Débutant][swing]Formulaire
    Par pingoui dans le forum Débuter
    Réponses: 43
    Dernier message: 06/08/2004, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo