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 :

probleme d'affichage d'un JTextField et des JButton


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut probleme d'affichage d'un JTextField et des JButton
    bonjour à tous

    j'aimerai afficher un JTextField au dessus (au nord) d'une serie de bouton présenté avec un grid

    mais ça ne m'affiche que les bouton

    voici mon code
    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
     
     
    import java.awt.BorderLayout;
    import java.awt.Button;
    import java.awt.FlowLayout;
    import java.awt.Frame;
    import java.awt.GridLayout;
    import java.awt.Panel;
    import java.awt.TextField;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
     
    public class Main extends JFrame {
     
    	JFrame f;
    	JPanel pan, pan2, pan3;
    	JTextField text;
    	GridLayout grid;
    	BorderLayout bord;
    	JButton but1, but2, but3, but4, but5, but6, but7, but8, but9, butmoins, butplus, butmuti, butdiv;
     
    	public Main()
    	{
     
    		f = new JFrame();
    		f.setSize(500,500);
    		f.setVisible(true);
     
     
    		pan = new JPanel();
    		pan.setLayout(bord);
     
    		text = new JTextField("0");
    		pan.add("North",text);
    		f.add(pan);
     
     
     
     
    		pan2 = new JPanel();
    		grid = new GridLayout(2,4);
    		pan2.setLayout(grid);
     
     
    		but1 = new JButton ("1");
    		but2 = new JButton ("2");
    		but3 = new JButton ("3");
    		butplus = new JButton ("+");
    		but4 = new JButton ("4");
    		but5 = new JButton ("5");
    		but6 = new JButton ("6");
    		butmoins = new JButton ("-");
     
    		pan2.add(but1);
    		pan2.add(but2);
    		pan2.add(but3);
    		pan2.add(butplus);
    		pan2.add(but4);
    		pan2.add(but5);
    		pan2.add(but6);
    		pan2.add(butmoins);
     
     
    		f.add(pan2);
     
     
     
     
    	}
    	public static void main(String[] args) {
     
    		Main man = new Main();
     
    	}
     
    }
    quelqu'un peut il m'aider?

    merci..

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    mais ça ne m'affiche que les bouton
    Estime-toi heureuse ! vu ton code c'est déjà pas mal ^^

    Tu devrais peut-être revoir les bases (déclaration des variables, etc) et être plus rigoureuse dans ton code, sinon tu vas vite te perdre...

    Ce que je reproche à ton code :

    tu fais par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JFrame f;
    (... quelques lignes plus tard ...) f = new JFrame();
    pourquoi ne fais-tu pas directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFrame f = new JFrame();
    d'une c'est plus "esthetique" et surtout c'est plus lisible (ce qui permet de pas se paumer en relisant son propre code!)
    pareil pour les autres composants...


    Deuxième point, pourquoi utiliser 3 panels différents ???

    tiens allez j'me sens l'âme charitable :
    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
     
    import java.awt.*;
     
    import javax.swing.*; 
     
     
     
    public class Main extends JFrame {
     
    	JFrame f = new JFrame();
     
    	JPanel pan = new JPanel();
     
    	JTextField text = new JTextField();
     
    	JButton but1 = new JButton("1");
    	JButton but2 = new JButton("2");
    	JButton but3 = new JButton("3");
    	JButton but4 = new JButton("4");
    	JButton but5 = new JButton("5");
    	JButton but6 = new JButton("6");
    	JButton butmoins = new JButton("-");
    	JButton butplus = new JButton("+");
     
    	public Main()
    	{
    		f = new JFrame();
    		f.setSize(500,500);
    		f.setVisible(true);
     
    		pan.setLayout(new GridLayout(3,3));
     
    		text.setText("0");
     
    		pan.add(text);
     
    		pan.add(but1);
    		pan.add(but2);
    		pan.add(but3);
    		pan.add(but4);
    		pan.add(but5);
    		pan.add(but6);
    		pan.add(butplus);
    		pan.add(butmoins);
     
    		setContentPane(pan);
     
    		f.add(pan);
    	}
    	public static void main(String[] args) {
     
    		Main man = new Main();
     
    	}
    }
    Bon par contre si tu veux une disposition plus propre, je te conseille vivement le GridBagLayout qui te permettra un placement plus fin (mais plus chiant à maitriser) ou alors si c'est pour faire comme je pense une caltos, fait un setLayout(null) et tu place tes composants à la main avec setBounds(x,y,larg,haut) (c'est pas beaucoup plus long au final et au moins tu place tes composants exactement où tu veux ! sinon si t'es fainéante y'a aussi NetBeans... ^^

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    Allez après quelques petites heures de sommeil et toujours dans l'optique d'une âme charitable ^^ voilà un code se rapprochant de ce que tu as fait (à moins que je n'aie rien compris à ce que tu cherches à faire...) :
    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
    import javax.swing.*;
    import java.awt.*;
     
    public class Test extends JFrame{
     
    	JPanel panePrincipal = new JPanel(new BorderLayout());
    	JPanel pane1 = new JPanel(new GridLayout(3,3));
    	JPanel pane2 = new JPanel();
     
    	JButton b1 = new JButton("1");
    	JButton b2 = new JButton("2");
    	JButton b3 = new JButton("3");
    	JButton b4 = new JButton("4");
    	JButton b5 = new JButton("5");
    	JButton b6 = new JButton("6");
    	JButton b7 = new JButton("7");
    	JButton b8 = new JButton("8");
    	JButton b9 = new JButton("9");
     
    	JTextField tfTexte = new JTextField("0");
     
    	public Test(){
     
    		setSize(500,500);
    		setTitle("Test");
     
    		pane1.add(b1);
    		pane1.add(b2);
    		pane1.add(b3);
    		pane1.add(b4);
    		pane1.add(b5);
    		pane1.add(b6);
    		pane1.add(b7);
    		pane1.add(b8);
    		pane1.add(b9);
     
    		pane2.add(tfTexte);
     
    		setContentPane(pane1);
    		setContentPane(pane2);
     
    		panePrincipal.add(pane1, BorderLayout.SOUTH);
    		panePrincipal.add(pane2, BorderLayout.NORTH);
     
    		setContentPane(panePrincipal);
    	}
     
     
    	public static void main(String[] args){
     
            Test fenetre = new Test();
     
            fenetre.setVisible(true);
            fenetre.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    	}
    }
    C'est quand même plus propre nan ?

    Ah aussi au passage, je te déconseille d'appeler une de tes classes "Main", c'est pas interdit (à ma connaissance en tout cas) mais tant qu'à faire autant utiliser des mots différents de mots réservés.

  4. #4
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    bonjour

    oui effectivement c'est ce que je voulais faire
    il ne me reste plus qu'à mediter sur ton code !!

    merci beauoup en tout cas

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    Je t'en prie, y'a pas de quoi !
    N'hésites pas si quelque chose n'est pas clair

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme d'affichage JTextfield
    Par link256 dans le forum Composants
    Réponses: 4
    Dernier message: 03/07/2006, 17h31
  2. [SWT][IHM]Probleme d'affichage des icones
    Par barbu0055 dans le forum SWT/JFace
    Réponses: 6
    Dernier message: 03/03/2006, 12h05
  3. Réponses: 15
    Dernier message: 15/11/2005, 17h33
  4. Réponses: 9
    Dernier message: 28/10/2005, 11h43
  5. []Problème d'affichage des enregistrements dans un DataReport
    Par GeniuZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 05/01/2005, 16h52

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