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

Composants Java Discussion :

probleme dans la positionnement des boutons


Sujet :

Composants Java

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 105
    Points : 198
    Points
    198
    Par défaut probleme dans la positionnement des boutons
    bonjour
    je veux cree une interface ghrapique qui contient un logo en haut et deux bontons start et exit en bas
    mon probleme c'est que j'ai trouvé des difficulté dans la positionnement de ce start et exit
    j'ai utilise GridLayout ;
    le 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
    package debut;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.GridLayout;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    class Panneau extends JPanel{
     
     
    	public void paintComponent(Graphics g){
     
    		g.setColor(Color.white);
    	    g.fillRect(0, 0, 300, 425);
     
    	}
     
    }
     
     
    public class FentrePremier {
     
    	static Panneau pn=new Panneau();
    	static JButton start=new JButton("Start");
    	static JButton exit=new JButton("Exit");
     
     
    		public static JFrame fenetre ;
    		public static void main(String[] args) {
    			fenetre = new JFrame("Flappy Bird");
    			fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//permet de d'arreter le programme en cliquant sur le coix
    			fenetre.setSize(300, 425);
    			fenetre.setLocationRelativeTo(null);//centrer la fenetre en ecran
    			fenetre.setResizable(false);// empaicher de redimensier la fenetre
    			fenetre.setAlwaysOnTop(true); //le fenetre est en dessus
    		    fenetre.setContentPane(pn);
    		    fenetre.setLayout(new GridLayout(3, 3));
    		    fenetre.getContentPane().add(start);
    			fenetre.getContentPane().add(exit);
    			fenetre.setVisible(true);//la fenetre est visible
     
    }
    }
    le résultat :
    Nom : aide.png
Affichages : 218
Taille : 12,1 Ko

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tout d'abord, pour un GridLayout, on indique normalement soit le nombre de lignes, soit le nombre de colonnes. Non seulement cela ne sert à rien d'indiquer les 2, puisque le GridLayout passera en mode colonne dans ce cas (donc ne prendra que le nombre de lignes), mais heureusement, sinon, tu aurais défini une grille de neuf cases, donc encore moins proche que ce que tu veux faire.

    Ensuite, on ne voit nulle part où tu ajoutes ton logo dans la grille, donc, forcément, il ne s'affiche pas. C'est quoi d'ailleur ton logo ? Une image, genre png ou jpeg ?

    Par ailleurs, ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public void paintComponent(Graphics g){
     
    		g.setColor(Color.white);
    	    g.fillRect(0, 0, 300, 425);
     
    	}
    et non seulement inutile, mais hasardeux et mauvais.
    Inutile, parce qu'un composant ça sait très bien s'afficher dans une couleur donnée. Il suffit de l'affecter par la méthode setBackGround(Color). Et hasardeux, parce que tu ne connais pas la taille du composant à priori, donc dessiner un rectangle de taille imposée risque de faire apparaître une partie grise. Mauvais parce que tu as supprimé le dessin naturel du fond du composant : le contexte graphique étant recyclé en Java, tu risques de voir apparaître des bouts d'autres composants aléatoirement dans le fond.

    A moins qu'il ne s'agisse d'une tentative de dessiner le logo. Mais dans ce cas, ce qui pose problème, c'est que tu dessines dans le fond du composant, alors qu'il y a des boutons dans ton composant, qui masquent donc le fond.

    Le plus simple est de considérer que ton logo est un troisième composant, comme tes boutons. En plus, que cela soit une image, ou un texte comme sur ton exemple, tu pourras utiliser un composant tout fait de Swing, ou alors utiliser un JPanel pour dessiner en Java le logo qui te plait.

    Exemple avec un JLabel :
    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
    public class ExempleLogo {
     
    	public static void main(String[] args) {
    			JFrame fenetre = new JFrame("Flappy Bird");
    			fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//permet de d'arreter le programme en cliquant sur le coix
    			fenetre.setSize(300, 425);
    			fenetre.setLocationRelativeTo(null);//centrer la fenetre en ecran
    			fenetre.setResizable(false);// empaicher de redimensier la fenetre
    			fenetre.setAlwaysOnTop(true); //le fenetre est en dessus
     
    			JLabel logo = new JLabel("LOGO");
    			logo.setFont(logo.getFont().deriveFont(25f));
    			logo.setHorizontalAlignment(JLabel.CENTER);
    			logo.setBackground(Color.WHITE);
     
    			JButton buttonStart = new JButton("Start");
    			JButton buttonExit = new JButton("Exit");
     
    		    fenetre.setLayout(new GridLayout(3,0));
     
    		    fenetre.add(logo);
    		    fenetre.add(buttonStart);
    			fenetre.add(buttonExit);
     
    			fenetre.setVisible(true);
     
    	}
     
     
    }
    Un exemple vite fait avec un logo dessiné en Java dans un JPanel :
    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
    public class ExempleLogo {
     
    	public static void main(String[] args) {
    			JFrame fenetre = new JFrame("Flappy Bird");
    			fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//permet de d'arreter le programme en cliquant sur le coix
    			fenetre.setSize(300, 425);
    			fenetre.setLocationRelativeTo(null);//centrer la fenetre en ecran
    			fenetre.setResizable(false);// empaicher de redimensier la fenetre
    			fenetre.setAlwaysOnTop(true); //le fenetre est en dessus
     
    			JPanel logo = new Logo();
     
    			JButton buttonStart = new JButton("Start");
    			JButton buttonExit = new JButton("Exit");
     
    		    fenetre.setLayout(new GridLayout(3,0));
     
    		    fenetre.add(logo);
    		    fenetre.add(buttonStart);
    			fenetre.add(buttonExit);
     
    			fenetre.setVisible(true);
     
    	}
     
    	private static class Logo extends JPanel {
     
    		private final Shape star;
     
    		public Logo() {
    			setBackground(Color.WHITE);
    			Path2D.Double dessin = new Path2D.Double();
     
    			boolean first=true;
    			double c=2*Math.PI;
    			for(double i=0; i<c; i+=c/5) {
    				double x=40*Math.cos(i);
    				double y=40*Math.sin(i);
    				if ( first ) {
    					dessin.moveTo(x, y);
    					first=false;
    				}
    				else {
    					dessin.lineTo(x, y);
    				}
    				double a = i+c/10;
    				x=40*2/5*Math.cos(a);
    				y=40*2/5*Math.sin(a);
    				dessin.lineTo(x, y);
    			}
    			dessin.closePath();
    			AffineTransform transform = AffineTransform.getTranslateInstance(40, 70);
    			transform.rotate(-Math.PI/3);
    			star = transform.createTransformedShape(dessin);
    		}
     
    		@Override
    		protected void paintComponent(Graphics g) {
    			super.paintComponent(g);
    			g.setFont(getFont().deriveFont(72f).deriveFont(Font.BOLD));
    			Graphics2D g2d = (Graphics2D)g;
    			g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    			g.setColor(Color.RED);
    			g2d.fill(star);
    			Shape logo = AffineTransform.getTranslateInstance(70, 100).createTransformedShape(g.getFont().createGlyphVector(g2d.getFontRenderContext(), "LOGO").getOutline());
    			g2d.fill(new BasicStroke(5).createStrokedShape(logo));
    			g.setColor(Color.ORANGE);
    			g2d.fill(logo);
    		}
     
    	}
     
     
    }
    Sur ton image, on voti qu'il y a une bordure blanche autour. Tu peux réaliser ça justement en utilisant un Border. Tu descends tous les composants dans un panel, sur lequel tu mets le border :

    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
    public class ExempleLogo {
     
    	public static void main(String[] args) {
    			JFrame fenetre = new JFrame("Flappy Bird");
    			fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//permet de d'arreter le programme en cliquant sur le coix
    			fenetre.setSize(360, 485);
    			fenetre.setLocationRelativeTo(null);//centrer la fenetre en ecran
    			fenetre.setResizable(false);// empaicher de redimensier la fenetre
    			fenetre.setAlwaysOnTop(true); //le fenetre est en dessus
     
    			JPanel logo = new Logo();
     
    			JButton buttonStart = new JButton("Start");
    			JButton buttonExit = new JButton("Exit");
     
    			JPanel mainPanel = new JPanel();
     
    		    mainPanel.setLayout(new GridLayout(3,0));
     
    		    mainPanel.add(logo);
    		    mainPanel.add(buttonStart);
    		    mainPanel.add(buttonExit);
     
    		    mainPanel.setBorder(BorderFactory.createLineBorder(Color.WHITE, 30));
     
    		    fenetre.add(mainPanel);
     
    			fenetre.setVisible(true);
     
    	}
     
    	private static class Logo extends JPanel {
     
    		private final Shape star;
     
    		public Logo() {
    			setBackground(Color.WHITE);
    			Path2D.Double dessin = new Path2D.Double();
     
    			boolean first=true;
    			double c=2*Math.PI;
    			for(double i=0; i<c; i+=c/5) {
    				double x=40*Math.cos(i);
    				double y=40*Math.sin(i);
    				if ( first ) {
    					dessin.moveTo(x, y);
    					first=false;
    				}
    				else {
    					dessin.lineTo(x, y);
    				}
    				double a = i+c/10;
    				x=40*2/5*Math.cos(a);
    				y=40*2/5*Math.sin(a);
    				dessin.lineTo(x, y);
    			}
    			dessin.closePath();
    			AffineTransform transform = AffineTransform.getTranslateInstance(40, 70);
    			transform.rotate(-Math.PI/3);
    			star = transform.createTransformedShape(dessin);
    		}
     
    		@Override
    		protected void paintComponent(Graphics g) {
    			super.paintComponent(g);
    			g.setFont(getFont().deriveFont(72f).deriveFont(Font.BOLD));
    			Graphics2D g2d = (Graphics2D)g;
    			g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    			g.setColor(Color.RED);
    			g2d.fill(star);
    			Shape logo = AffineTransform.getTranslateInstance(70, 100).createTransformedShape(g.getFont().createGlyphVector(g2d.getFontRenderContext(), "LOGO").getOutline());
    			g2d.fill(new BasicStroke(5).createStrokedShape(logo));
    			g.setColor(Color.ORANGE);
    			g2d.fill(logo);
    		}
     
    	}
     
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 105
    Points : 198
    Points
    198
    Par défaut
    merci pour ces information utiles ;
    il reste seulement comment redimensionner ces buttons ?
    Nom : new.png
Affichages : 176
Taille : 4,0 Ko

    ce qui concerne le logo c'est un fichier png ;

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Si c'est un fichier png, le plus simple est de le coller dans un JLabel et d'afficher le JLabel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nnew JLabel(new ImageIcon(url));
    mais attention, la taille du logo sera la taille du png.

    Pour le redimensionnement des boutons, le problème est que tu utilises un GridLayout : un GridLaout fait que tous les composants ont la même hauteur et la même largeur et que l'ensemble s'étend sur le maximum de la place disponible.

    Il y a d'autres types de layout manager, selon ce que tu veux obtenir. Le BoxLayout, le GridBagLayout... par exemples.

    Avec mon premier exemple, vec un GridBagLayout :
    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
    public static void main(String[] args) {
    			JFrame fenetre = new JFrame("Flappy Bird");
    			fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//permet de d'arreter le programme en cliquant sur le coix
    			fenetre.setSize(300, 425);
    			fenetre.setLocationRelativeTo(null);//centrer la fenetre en ecran
    			fenetre.setResizable(false);// empaicher de redimensier la fenetre
    			fenetre.setAlwaysOnTop(true); //le fenetre est en dessus
     
    			JLabel logo = new JLabel("LOGO");
    			logo.setFont(logo.getFont().deriveFont(25f));
    			logo.setHorizontalAlignment(JLabel.CENTER);
    			logo.setBackground(Color.WHITE);
     
    			JButton buttonStart = new JButton("Start");
    			JButton buttonExit = new JButton("Exit");
     
    		    fenetre.setLayout(new GridBagLayout());
     
    		    GridBagConstraints gbc = new GridBagConstraints();
    		    gbc.gridx=0;
    		    gbc.fill=GridBagConstraints.HORIZONTAL;
     
    		    buttonStart.setMinimumSize(new Dimension(300, 50));
    		    buttonStart.setMaximumSize(new Dimension(300, 50));
    		    buttonStart.setMaximumSize(new Dimension(300, 50));
    		    buttonExit.setMinimumSize(new Dimension(300, 50));
    		    buttonExit.setPreferredSize(new Dimension(300, 50));
    		    buttonExit.setMaximumSize(new Dimension(300, 50));
     
    		    fenetre.add(logo,gbc);
    		    fenetre.add(buttonStart,gbc);
    			fenetre.add(buttonExit,gbc);
     
    			fenetre.setVisible(true);
     
    	}
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 105
    Points : 198
    Points
    198
    Par défaut
    merci bien !
    mais j'ai pas bien compris pourquoi la répétition de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     buttonStart.setMinimumSize(new Dimension(300, 50));
    		    buttonStart.setMaximumSize(new Dimension(300, 50));
    		    buttonStart.setMaximumSize(new Dimension(300, 50));

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 105
    Points : 198
    Points
    198
    Par défaut
    mon nouveau 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
    public class FentrePremier {
     
    	static JPanel pn=new JPanel();
    	static JLabel logo = new JLabel(new ImageIcon("Flappy_Bird_icon.png"));
    	static JButton start=new JButton("Start");
    	static JButton exit=new JButton("Exit");
    	static GridBagLayout GBL=new GridBagLayout() ;
     
     
    		public static JFrame fenetre ;
    		public static void main(String[] args) {
     
    			logo.setFont(logo.getFont().deriveFont(25f));
    			logo.setHorizontalAlignment(JLabel.CENTER);
    			logo.setBackground(Color.WHITE);
    			fenetre = new JFrame("Flappy Bird");
    			fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//permet de d'arreter le programme en cliquant sur le coix
    			fenetre.setSize(300, 425);
    			fenetre.setBackground(Color.CYAN);
    			fenetre.setLocationRelativeTo(null);//centrer la fenetre en ecran
    			fenetre.setResizable(false);// empaicher de redimensier la fenetre
    			fenetre.setAlwaysOnTop(true); //le fenetre est en dessus
    			fenetre.setLayout(GBL);
     
     
    			GridBagConstraints gbc = new GridBagConstraints();
    		    gbc.gridx=0;
    		    gbc.fill=GridBagConstraints.HORIZONTAL;
     
    		    start.setMinimumSize(new Dimension(300, 50));
    		    start.setMaximumSize(new Dimension(300, 50));
    		    start.setMaximumSize(new Dimension(300, 50));
    		    exit.setMinimumSize(new Dimension(300, 50));
    		    exit.setPreferredSize(new Dimension(300, 50));
    		    exit.setMaximumSize(new Dimension(300, 50));
     
    		    fenetre.add(logo,gbc);
    		    fenetre.add(start,gbc);
    			fenetre.add(exit,gbc);
    			fenetre.setVisible(true);//la fenetre est visible
     
    }
    résultat :
    Nom : fllapybird.png
Affichages : 172
Taille : 4,1 Ko

    j'ai pas bien compris :
    -pourquoi le logo n’appairait pas (dimension du logo (png) 175*175 )
    -comment organiser les boutons avec GridBagLayout() ;

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par HAM_10 Voir le message
    merci bien !
    mais j'ai pas bien compris pourquoi la répétition de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     buttonStart.setMinimumSize(new Dimension(300, 50));
    		    buttonStart.setMaximumSize(new Dimension(300, 50));
    		    buttonStart.setMaximumSize(new Dimension(300, 50));
    C'est une erreur de copier/coller : ça devrait être comme pour le buttonExit. Précisemment, on peut adapter la taille minimum, maximum et/ou preférée aux besoins de son interface.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par HAM_10 Voir le message
    -pourquoi le logo n’appairait pas (dimension du logo (png) 175*175 )
    Probablement parce que le fichier n'est pas à l'endroit où tu l'indiques. Il est préférable que le fichier soit packagée avec les classes pour n'avoir à livrer qu'un fichier (un jar). Dans ce cadre, le fichier sera mis dans les sources (ton ide le copiera alors dans les classes à la build). Ensuite, pour y accèder, tu feras (si le fichier est mis dans le même dossier que FentrePremier.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    logo = new JLabel(new ImageIcon(FentrePremier.class().getResource("Flappy_Bird_icon.png"));
    Citation Envoyé par HAM_10 Voir le message
    -comment organiser les boutons avec GridBagLayout() ;
    La contrainte passée en argument de la méthode add permet de positionner précisémment le composant ajouté. Pour un GridBagLayout, la contrainte est une instance de GridBacConstraints. Dans mon exemple, c'est la variable gbc. La javadoc explicite l'ensemble des attributs de cette classe. Tu as également un tutoriel d'Oracle qui explique globalement le fonctionnement du GridBagLayout. Et également ces discussions :
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Positionner des boutons dans une liste
    Par Gizmil dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/11/2007, 23h03
  2. Positionner des boutons dans une liste
    Par Gizmil dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 14/11/2007, 08h09
  3. probleme dans le recuperation des carectres speciaux : é,è à
    Par abdou.sahraoui dans le forum Oracle
    Réponses: 20
    Dernier message: 28/10/2005, 16h59
  4. [HTML][FORMULAIRE] Probleme dans la récupération des données
    Par baddounet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/08/2005, 18h51
  5. [TP]Problème dans la gestion des touches d'un tetris
    Par Guile0 dans le forum Turbo Pascal
    Réponses: 18
    Dernier message: 31/01/2005, 22h40

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