Bonjour,

J'ai un problème avec l'alignement des composants ajoutés à un panel disposant du FlowLayout.



Je veux que mes buttons soient alignés à gauche comme sur ce screenshot :



Le panel :

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
 
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
 
 
public class IndexMenuPanel extends JPanel
{
	JButton titre;
	ImageIcon ico;
 
 
	public IndexMenuPanel(String nom, String img)
	{
		this.setOpaque(false);
		titre = new JButton(nom);
		titre.setContentAreaFilled(false);
		titre.setOpaque(false);
 
		titre.addActionListener
		(
				new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						JButton source = (JButton) e.getSource();
						System.out.println(source.getText());
					}
 
				}
		); 
 
		titre.addMouseListener(new MouseAdapter()
		{
 
				public void mouseEntered(MouseEvent e)
				{
					JButton source = (JButton) e.getSource();
					source.setContentAreaFilled(true);
					setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
				}
		});
 
		titre.addMouseListener(new MouseAdapter()
		{
 
				public void mouseExited(MouseEvent e)
				{
					JButton source = (JButton) e.getSource();
					source.setContentAreaFilled(false);
					setCursor(Cursor.getDefaultCursor());
				}
		});
 
		ico = new ImageIcon(img);
		titre.setIcon(ico);
		titre.setFont(new Font("",1,16));
		//titre.setPreferredSize(new Dimension(516,70));
 
		this.setLayout(new FlowLayout());
		this.add(titre);
 
		this.setPreferredSize(new Dimension(750,100));
	}
}
Les panels ajoutés dans le panel ci-dessus :
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
 
import java.awt.FlowLayout;
import java.awt.Image;
 
import javax.swing.JPanel;
 
 
public class MenuIndexPanel extends JPanel 
{
		IndexMenuPanel menuPanel;
 
		public MenuIndexPanel()
		{
 
			menuPanel = new IndexMenuPanel("Ajouter les dépôts PLF                                                     ", "/usr/share/mlo/exec.png");
//J'ai ajouté plein d'espace pour pouvoir les aligner à gauche et obtenir la capture numéro 2
			this.add(menuPanel);
			menuPanel = new IndexMenuPanel("Mettre à jour son système                                                 ", "/usr/share/mlo/services.png");
			this.add(menuPanel);
			menuPanel = new IndexMenuPanel("Envoyer la configuration de son ordinateur                    ", "/usr/share/mlo/ktorrent.png");
			this.add(menuPanel);
			menuPanel = new IndexMenuPanel("Installer les polices Windows (arial, time new Roman...)", "/usr/share/mlo/uninstaller.png");
			this.add(menuPanel);
			menuPanel = new IndexMenuPanel("Activer et/ou configurer le gestionnaire de sauvegarde  ", "/usr/share/mlo/folder_sync.png");
			this.add(menuPanel);
 
			FlowLayout layout = new FlowLayout(FlowLayout.RIGHT);
			this.setLayout(layout);
			this.setOpaque(false);
		}
}
J'ai essayé de forcer la taille de chaque boutton -> L'alignement ne change pas