Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme JPanel et GridLayout

impossible d'ajouter tout les elements

    19 mars 2010 à 10:10:22

    SALUT A TOUS !!!

    je souhaite faire un GridLayout 8 lignes, 3 colonne mais premier problème, les colonnes ne sont pas prises en compte, tout se fait ligne par ligne et sa va pas.
    plus concrètement, j'aimerais ajouter des "null" a la place de tout mettre à la suite, je ne sais pas trop comment m'y prendre et comment les placer? genre je veux mettre un null a la ligne 7 et colonne 2.

    deuxième problème, si je met une image de fond, le GridLayout n'agit pas, enfin tout les éléments( boutons, textes etc...) se retrouve a la suite, sa va pas...

    voici le code :

    import javax.swing.JFrame;
    import javax.swing.JButton;
    import javax.swing.JPanel;
    import javax.swing.JLabel;
    import javax.swing.JTextField;

    import java.awt.*;

    public class graphique extends JFrame {

    private JButton bouton1 = new JButton("parcourir");
    private JButton bouton2 = new JButton("encoder");
    private JButton bouton3 = new JButton("decoder");

    private JPanel pan = new JPanel();
    GridLayout gd = new GridLayout(8, 3);


    protected final String MESSAGE1 = "Bienvenue dans le Projet de Technologie de l'Information réalisé par xyxyxy";
    protected final String MESSAGE2 = "Veuillez clicker sur parcourir pour selectionner un fichier";
    protected final String MESSAGE3 = "Fichier :";
    protected final String MESSAGE4 = "Si vous souhaitez ENCODER le fichier sélectionné, veuillez clicker sur encoder";
    protected final String MESSAGE5 = "Si vous souhaitez DECODER le fichier séléctionné, veuillez clicker sur décoder";

    public graphique() {

    this.setTitle("TEST");
    this.setSize(600, 400);

    this.setLayout(gd);

    JLabel text1 = new JLabel(MESSAGE1);
    JLabel text2 = new JLabel(MESSAGE2);
    JLabel text3 = new JLabel(MESSAGE3);
    JLabel text4 = new JLabel(MESSAGE4);
    JLabel text5 = new JLabel(MESSAGE5);
    JTextField chemin = new JTextField(20);

    //this.setContentPane(new panneau());
    // soit avec image de fond, soit sans image mais gridLayout
    add(text1);
    add(text2);
    add(text3);
    add(chemin);
    add(bouton1);
    add(text4);
    add(bouton2);
    add(text5);
    add(bouton3);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);

    }
    }


    public class fenetre {
    public static void main(String[] args) {
    graphique fen = new graphique();

    }
    }

    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;


    public class panneau extends JPanel {

    public void paintComponent(Graphics g) {
    try {
    Image Img = ImageIO.read(new File("MONIMAGE.jpg"));
    g.drawImage(Img, 0, 0, this.getWidth(), this.getHeight(), this);

    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }


    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2010 à 11:36:28

      Salut, je sais pas si ça va t'aider, mais moi perso, j'utiliserai le layout sur un jpanel et non sur la jframe ainsi que tous les elements que tu place direct dans la jframe je les placerai, avant, sur le jpanel. J'ai peut etre manqué quelque chose, mais dans ta class graphique tu declare un jpanel qui sert a rien non??? enfin moi je m'en servirai pour tout y placer dedans puis je placerai ce jpanel dans la jframe.
      • Partager sur Facebook
      • Partager sur Twitter

      probleme JPanel et GridLayout

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown