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

 Java Discussion :

Background pour un JPanel et "actualisation" d'une fenetre


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2017
    Messages : 87
    Par défaut Background pour un JPanel et "actualisation" d'une fenetre
    Bonjour,
    Pour un projet je dois créer une application qui navigue entre plusieurs pages suivant les boutons sur lesquels on clique. J'ai créé une class Fenetre extends JFrame pour la fenetre principale et j'ai défini d'autres classes extends JPanel pour chaque pages différentes. J'ai deux problèmes: pour les classes extends JPanel je n'arrive pas à mettre un fond d'écran sur la totalité de la fenêtre sans que cela repasse par dessus les boutons, et je n'arrive pas à faire en sorte que lorsque l'on clique sur un bouton, par exemple Paramètres, on arrive sur la classe Paramètres. J'ai fait une classe héritant de ActionListener et dans la méthode ActionPerformed j'appelle une classe update dans ma classe Fenetre pour qu'une nouvelle instance de Paramètres soit créé et s'affiche. Je sais pas trop si c'est clair ^^

    Merci

  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 : 56
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    Montres-nous ton code, ce sera plus clair.

    De quoi tu parles par fond d'écran dans une fenêtre ? Comment c'est fait ?

    Sinon, globalement, pour faire ce que tu cherches à faire (afficher plusieurs "pages" différentes dans une fenêtre en fonction de différents boutons (ou menus)), utilise un cardlayout.

    Exemple :

    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
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    import java.awt.BorderLayout;
    import java.awt.CardLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Image;
    import java.awt.Insets;
    import java.io.File;
    import java.io.IOException;
     
    import javax.activation.MimetypesFileTypeMap;
    import javax.imageio.ImageIO;
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextField;
    import javax.swing.filechooser.FileFilter;
     
    public class DemoCardLayout extends JFrame {
     
    	public DemoCardLayout() {
     
    		CardLayout cardLayout = new CardLayout();
     
    		JPanel panel = new JPanel(cardLayout);
     
    		JLabel titleLabel = new JLabel("Affichage de page truc.");
    		titleLabel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5),BorderFactory.createLineBorder(Color.RED, 1, true)));
     
    		JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 5, 5));
    		addPage(buttonPanel, titleLabel, panel, cardLayout, new PageTruc(), "TRUC", "Page truc");
    		addPage(buttonPanel, titleLabel, panel, cardLayout, new PageMachin(), "MACHIN", "Page machin");
    		addPage(buttonPanel, titleLabel, panel, cardLayout, new PageBidule(), "BIDULE", "Page bidule");
     
    		add(titleLabel, BorderLayout.NORTH);
    		add(panel);
    		add(buttonPanel, BorderLayout.SOUTH);
    		setSize(400,400);
    		setLocationRelativeTo(null);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    	private void addPage(JPanel buttonPanel, JLabel titlelabel, JPanel panel, CardLayout cardLayout, JPanel page, String pageId, String actionName) {
    		panel.add(page, pageId);
    		JButton button = new JButton(actionName);
    		buttonPanel.add(button);
    		button.addActionListener(e-> {
    			cardLayout.show(panel, pageId);
    			titlelabel.setText("Affichage de "+actionName.toLowerCase()+".");
    		});
    	}
     
    	public static void main(String[] args) {
    		new DemoCardLayout().setVisible(true);
    	}
     
    	public static class PageTruc extends JPanel {
     
    		private final JTextField[] fields = new JTextField[3];
    		public PageTruc() {
    			super(new BorderLayout());
    			JPanel content = new JPanel(new GridBagLayout());
    			for(int i=0; i<fields.length; i++) {
    				JLabel label = new JLabel("Champ "+(i+1)+" :");
    				content.add(label, new GridBagConstraints(0, i, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1,1,1,1), 0, 0));
    				fields[i]=new JTextField();
    				label.setLabelFor(fields[i]);
    				content.add(fields[i], new GridBagConstraints(1, i, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(1,1,1,1), 0, 0));
    			}
    			add(content,BorderLayout.NORTH);
    		}
     
    	}
     
    	public static class PageMachin extends JPanel {
     
    		private JTextField textField;
    		private JButton button;
     
    		public PageMachin() {
    			super(new FlowLayout(FlowLayout.CENTER));
    			textField = new JTextField(10);
    			add(textField);
    			button = new JButton("Action");
    			add(button);
    		}
     
    	}
     
    	public static class PageBidule extends JPanel {
     
    		private File lastDir;
     
    		public PageBidule() {
    			super(new BorderLayout());
    			JLabel label = new JLabel();
    			add(new JScrollPane(label));
    			JButton button = new JButton("Changer image");
    			JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    			buttonPanel.add(button);
    			add(buttonPanel, BorderLayout.NORTH);
    			button.addActionListener(e-> changeImage(label));
    		}
     
    		private void changeImage(JLabel label) {
    			JFileChooser chooser = new JFileChooser(lastDir);
    			chooser.setDialogTitle("Choisir un fichier image");
    			chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
    			chooser.setFileFilter(new FileFilter() {
     
    				@Override
    				public String getDescription() {
    					return "Fichiers image";
    				}
     
    				@Override
    				public boolean accept(File f) {
    					return f.isDirectory() || MimetypesFileTypeMap.getDefaultFileTypeMap().getContentType(f.getName()).startsWith("image/");
    				}
     
    			});
    			if ( chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION ) {
    				try {
    					Image image = ImageIO.read(chooser.getSelectedFile());
    					label.setIcon(new ImageIcon(image));
    					lastDir = chooser.getSelectedFile().getParentFile();
    				} catch (IOException e) {
    					JOptionPane.showMessageDialog(this, "Impossible de charger le fichier "+ chooser.getSelectedFile().getName(), "Erreur", JOptionPane.ERROR_MESSAGE); 
    				}
    			}
     		}
     
    	}
     
    }


    Il y a également le JTabbedPane qui est particulièrement adapté pour ce type d'interface, et c'est nettement plus simple.


    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
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Image;
    import java.awt.Insets;
    import java.io.File;
    import java.io.IOException;
     
    import javax.activation.MimetypesFileTypeMap;
    import javax.imageio.ImageIO;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
    import javax.swing.filechooser.FileFilter;
     
    public class DemoCardLayout extends JFrame {
     
    	public DemoCardLayout() {
     
    		JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.BOTTOM);
     
    		addPage(tabbedPane, new PageTruc(), "Page truc");
    		addPage(tabbedPane, new PageMachin(), "Page machin");
    		addPage(tabbedPane, new PageBidule(), "Page bidule");
     
    		add(tabbedPane);
    		setSize(400,400);
    		setLocationRelativeTo(null);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    	private void addPage(JTabbedPane tabbedPane, JPanel page, String title) {
    		tabbedPane.addTab(title, page);
    	}
     
    	public static void main(String[] args) {
    		new DemoCardLayout().setVisible(true);
    	}
     
    	public static class PageTruc extends JPanel {
     
    		private final JTextField[] fields = new JTextField[3];
    		public PageTruc() {
    			super(new BorderLayout());
    			JPanel content = new JPanel(new GridBagLayout());
    			for(int i=0; i<fields.length; i++) {
    				JLabel label = new JLabel("Champ "+(i+1)+" :");
    				content.add(label, new GridBagConstraints(0, i, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1,1,1,1), 0, 0));
    				fields[i]=new JTextField();
    				label.setLabelFor(fields[i]);
    				content.add(fields[i], new GridBagConstraints(1, i, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(1,1,1,1), 0, 0));
    			}
    			add(content,BorderLayout.NORTH);
    		}
     
    	}
     
    	public static class PageMachin extends JPanel {
     
    		private JTextField textField;
    		private JButton button;
     
    		public PageMachin() {
    			super(new FlowLayout(FlowLayout.CENTER));
    			textField = new JTextField(10);
    			add(textField);
    			button = new JButton("Action");
    			add(button);
    		}
     
    	}
     
    	public static class PageBidule extends JPanel {
     
    		private File lastDir;
     
    		public PageBidule() {
    			super(new BorderLayout());
    			JLabel label = new JLabel();
    			add(new JScrollPane(label));
    			JButton button = new JButton("Changer image");
    			JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    			buttonPanel.add(button);
    			add(buttonPanel, BorderLayout.NORTH);
    			button.addActionListener(e-> changeImage(label));
    		}
     
    		private void changeImage(JLabel label) {
    			JFileChooser chooser = new JFileChooser(lastDir);
    			chooser.setDialogTitle("Choisir un fichier image");
    			chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
    			chooser.setFileFilter(new FileFilter() {
     
    				@Override
    				public String getDescription() {
    					return "Fichiers image";
    				}
     
    				@Override
    				public boolean accept(File f) {
    					return f.isDirectory() || MimetypesFileTypeMap.getDefaultFileTypeMap().getContentType(f.getName()).startsWith("image/");
    				}
     
    			});
    			if ( chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION ) {
    				try {
    					Image image = ImageIO.read(chooser.getSelectedFile());
    					label.setIcon(new ImageIcon(image));
    					lastDir = chooser.getSelectedFile().getParentFile();
    				} catch (IOException e) {
    					JOptionPane.showMessageDialog(this, "Impossible de charger le fichier "+ chooser.getSelectedFile().getName(), "Erreur", JOptionPane.ERROR_MESSAGE); 
    				}
    			}
     		}
     
    	}
     
    }
    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 confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2017
    Messages : 87
    Par défaut
    J'ai réussi à faire mon cardLayout, le changement avec les boutons marche bien mais la mise en page est différente de celle lorsque j'affiche un JPanel sans utilisation du card Layout.
    Voici mon code pour la classe principale ou j'utilise mon cardLayout:
    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
     
    public class Fenetre extends JFrame{//Faire tout les panels puis les appeler lorsque qu'on appuie sur le bouton plutot qu'un cardLayout
    	private Controller controller;
    	private Taches taches;
    	private Accueil accueil;
    	private PenseBete penseBete;
    	private JButton tache;
    	private CardLayout cardLayout;
    	private MyActionListener myActionListener;
    	private JPanel main;
    	public Fenetre(String nom, Accueil accueil, Taches taches, PenseBete penseBete){
    		super(nom);
    		this.accueil = accueil;
    		this.taches = taches;
    		this.controller = controller;
    		this.myActionListener = new MyActionListener(accueil,taches,this);
    		this.controller = new Controller(accueil, taches,myActionListener);
    		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 
    		this.cardLayout = new CardLayout();
     
    		JPanel fenetre = new JPanel(new BorderLayout());
     
    		JPanel panAcc = new JPanel();
    		panAcc.add(accueil); 
     
    		JPanel panTaches = new JPanel();
    		panTaches.add(taches);
     
    		JPanel panPenseBete = new JPanel();
    		panPenseBete.add(penseBete);
     
    		main = new JPanel (cardLayout);
    		fenetre.add(main);
            main.add("accueil", panAcc);
     
            panTaches.setName("taches");
            main.add("taches",panTaches);
     
            panPenseBete.setName("penseBete");
            main.add("penseBete",panPenseBete);
     
     
     
    		this.setLayout(new java.awt.BorderLayout()); 	
    		this.add(fenetre);
    		this.setSize(850,480);
    		this.setResizable(false);
    		this.setVisible(true);
    		System.out.println("constructeur fenetre");
    	}
     
    	public void changePanelTaches(){
    		System.out.println("methode changePanel");
    		((CardLayout)main.getLayout()).show(this.main,"taches");
    		this.setVisible(true);
    	}
     
    	public void changePanelPenseBete(){
    		((CardLayout)main.getLayout()).show(this.main,"penseBete");
    	}
     
    }

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2017
    Messages : 87
    Par défaut
    Avec la cardLayout l'affichage est :
    Nom : 1.1.png
Affichages : 729
Taille : 9,9 Ko

    Et sans le cardLayout:
    Nom : 1.2.png
Affichages : 699
Taille : 10,7 Ko

  5. #5
    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 : 56
    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
    Billets dans le blog
    2
    Par défaut
    Ce n'est pas évident de savoir ce qu'il se passe vu que je n'ai pas le code de Taches, Accueil ou PenseBete. Mais je pense que ça vient des layouts intermédiaires des JPanel mis dans le cardlayout.

    Tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    JPanel panAcc = new JPanel();
    panAcc.add(accueil);
    Le layout par défaut d'un panel est une FlowLayout, et suivant le layout dans Accueil, ça peut donner des résulats comme ce que tu montres.

    Essaye d'ailleurs de ne pas faire de panel intermédiaire : tu peux mettre directement l'instance de accueil dans le container avec cardLayout (main).
    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.

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2017
    Messages : 87
    Par défaut
    D'accord je ne savais pas, ça marche merci beaucoup. Est-ce que vous auriez une idée pour mettre mon background à mes JPanel? J'ai essayé avec setIcon mais je ne comprends pas très bien comment faire. Voici le code de ma classe Accueil:

    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
     
    public class Accueil extends JPanel{//Mettre le fond d'ecran
    	private JButton tache;
    	private JButton penseBete;
    	private JButton calendrier;
    	private JButton quitter;
    	private JButton parametres;
    	private JButton aide;
    	public Accueil(){
    		System.out.println("constructeur accueil");
    		//JPanel accueil = new JPanel();
    		JPanel gauche = new JPanel();
    		JLabel content = new JLabel();
    		JPanel east = new JPanel();
     
    		east.setLayout(new java.awt.BorderLayout());
    		gauche.setLayout(new java.awt.GridLayout(3,1));
    		this.setLayout(new java.awt.BorderLayout());
    		content.setLayout(new BorderLayout());
    		content.setIcon(new ImageIcon("fond.png"));//image de fond d'ecran
    		content.setLayout(new BorderLayout());
    		content.setVisible(true);
    		//Fais en sorte que l'on voit l'image derrière
        	gauche.setOpaque(false);// important, les jpanel sont en opaque=1 par defaut
        	east.setOpaque(false);
        	//Ajout des boutons
        	aide = new JButton("Aide");
        	parametres = new JButton("Parametres");
        	quitter = new JButton("Quitter");
        	gauche.add(quitter);
        	gauche.add(parametres);
        	gauche.add(aide);
        	east.add(gauche,BorderLayout.NORTH);
     
        	//Partie du milieu
        	tache = new JButton("Taches");
        	penseBete = new JButton("Pense Bete");
        	calendrier = new JButton("Calendrier");
     
     
        	JPanel centre = new JPanel();
        	centre.setLayout(new GridBagLayout());
        	GridBagConstraints gc1 = new GridBagConstraints();
        	gc1.fill = GridBagConstraints.BOTH;
    		gc1.ipady = gc1.anchor = GridBagConstraints.CENTER;
    		gc1.weightx = 20;
    		gc1.weighty = 1;
    		gc1.insets = new Insets(50,100,0,-150);//Gauche/Bas/Haut/Droite
     
    		GridBagConstraints gc2 = new GridBagConstraints();
        	gc2.fill = GridBagConstraints.BOTH;
    		gc2.ipady = gc2.anchor = GridBagConstraints.CENTER;
    		gc2.weightx = 20;
    		gc2.weighty = 1;
    		gc2.insets = new Insets(50,0,0,50);//Haut/Gauche/Bas/Droite
     
    		GridBagConstraints gc3 = new GridBagConstraints();
        	gc3.fill = GridBagConstraints.BOTH;
    		gc3.ipady = gc3.anchor = GridBagConstraints.CENTER;
    		gc3.weightx = 20;
    		gc3.weighty = 1;
    		gc3.insets = new Insets(50,10,50,-150);//Gauche/Haut/Bas/Droite
     
    		gc1.gridx = 0;
    		gc1.gridy = 0;
    		centre.add(tache,gc1);
    		gc2.gridx = 2;
    		gc2.gridy = 0;
    		centre.add(penseBete,gc2);
    		gc3.gridx = 1;
    		gc3.gridy = 1;
    		centre.add(calendrier,gc3);
     
    		centre.setOpaque(false);
    		this.add(content);
    		this.add(east,BorderLayout.EAST);
        	this.add(centre,BorderLayout.CENTER);
     
    		this.setSize(850,480);
    		this.setVisible(true);
     
    	}
    }

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

Discussions similaires

  1. REQ : Algo pour vérification saisie du "Numero TVA"
    Par Eric.H dans le forum Langage
    Réponses: 4
    Dernier message: 28/01/2009, 11h23
  2. [débutant] image de background pour un JPanel
    Par thiouwz dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/11/2006, 16h49

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