Bonjour,
j'ai crée un JLabel vertical, mais j'ai un problème.
Mon JLabel s'affiche correctement, mais si je change la taille de la fenêtre où il se trouve et bien il disparaît
Si quelqu'un à une idée de quoi àa peut provenir ?
Voici mon code :
Merci d'avance.
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 public class VerticalLabel extends JLabel { private final static int BORDER_HEIGHT = 10; private String name; public VerticalLabel(String name) { super(); this.name = name; } public void setText(String text) { name = text; repaint(); } protected void paintComponent(Graphics graphics) { Graphics2D graphics2D = (Graphics2D) graphics; super.paintComponent(graphics); // CONFIGURATION GRAPHIQUE... // Désactivation de l'anti-aliasing. graphics2D .setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); graphics2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); // Demande de rendu rapide. graphics2D.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED); graphics2D.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_SPEED); graphics2D.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_OFF); graphics2D.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE); graphics2D.translate(0, getHeight()); graphics2D.rotate(-Math.PI/2); graphics2D.setFont(getFont()); graphics2D.drawString(name, BORDER_HEIGHT/2 , getWidth()/2); } public Dimension getPreferredSize() { Dimension dimension = new Dimension(getStringHeight()+BORDER_HEIGHT, getStringWidth()+BORDER_HEIGHT); return dimension; } private int getStringWidth() { FontMetrics metrics = getFontMetrics(getFont()); int width = metrics.stringWidth(name); return width; } private int getStringHeight() { FontMetrics metrics = getFontMetrics(getFont()); int height = metrics.getHeight(); return height; } }
Cyrille[/b]
Partager