Bonjour, j'ai créé une fenêtre affichant 3 boutons (classe personnalisé étendu du JButton).
Je dessine un rectangle fin à la droite de chacun d'entre eux via un "Graphics.fillRect()" :
Et je l'utilise ici :
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 javax.swing.*; import java.awt.*; import java.util.ArrayList; public class FlatButton extends JButton { private Color hidleColor = new Color(0x4773B9); private Color hoverColor = new Color(0x416BAA); private Color pressColor = new Color(0x35549B); boolean isPressed = false; private ArrayList<FlatButton> otherButtons = new ArrayList<FlatButton>(); public FlatButton(String text) { super(text); super.setBorderPainted(false); super.setFocusPainted(false); super.setContentAreaFilled(false); } @Override protected void paintComponent(Graphics g) { if (getModel().isPressed()) { isPressed = true; } if (isPressed) { g.setColor(pressColor); } else if (getModel().isRollover()) { g.setColor(hoverColor); } else { g.setColor(hidleColor); } g.fillRect(0, 0, getWidth(), getHeight()); // ICI : g.setColor(new Color(0xFFFFFF)); g.fillRect(0,0,1,getHeight()); // AU DESSUS ^^ super.paintComponent(g); } @Override public void setContentAreaFilled(boolean b) { } public Color getHoverBackgroundColor() { return hoverColor; } public void setHoverBackgroundColor(Color hoverBackgroundColor) { this.hoverColor = hoverBackgroundColor; } public Color getPressedBackgroundColor() { return pressColor; } public void setPressedBackgroundColor(Color pressedBackgroundColor) { this.pressColor = pressedBackgroundColor; } }
Le problème c'est que j'obtient des traits de taille différentes :
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 FlatButton b1 = new FlatButton("Mon parc"); FlatButton b2 = new FlatButton("Mes véhicules"); FlatButton b3 = new FlatButton("Mes clients"); b1.setFont(new Font("Montserrat",Font.ROMAN_BASELINE, 20)); //b1.setBackground(new Color(0x4773B9)); b1.setForeground(new Color(255,255,255)); b1.setPreferredSize(new Dimension(175,50)); b1.setHorizontalAlignment(SwingConstants.CENTER); b1.setVerticalAlignment(SwingConstants.CENTER); MenuLeft.add(b1); b2.setFont(new Font("Montserrat",Font.ROMAN_BASELINE, 20)); //b2.setBackground(new Color(0x4773B9)); b2.setForeground(new Color(255,255,255)); b2.setPreferredSize(new Dimension(175,50)); b2.setHorizontalAlignment(SwingConstants.CENTER); b2.setVerticalAlignment(SwingConstants.CENTER); MenuLeft.add(b2); b3.setFont(new Font("Montserrat",Font.ROMAN_BASELINE, 20)); b3.setForeground(new Color(255,255,255)); b3.setPreferredSize(new Dimension(175,50)); b3.setHorizontalAlignment(SwingConstants.CENTER); b3.setVerticalAlignment(SwingConstants.CENTER); MenuLeft.add(b3);
Auriez-vous une idée d'où cela peut venir ? Merci d'avance![]()







Répondre avec citation
Partager