Java dessiner un rectangle dans un jlabel

Fermé
joseph - 14 avril 2007 à 14:17
 Utilisateur anonyme - 14 avril 2007 à 16:37
Bonjour,
peut on ajouter un rectangle plein a coté du texte dans un Jlabel?
A voir également:

1 réponse

Utilisateur anonyme
14 avril 2007 à 16:37
Salut!

Oui, tu peux le faire.

E n voici un exemple:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;

import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 * Created on 14-avr.-07
 * 
 * @author: HackTrack
 */

public class DemoLabel extends JLabel {

	private Color color;

	private int rectWidth;

	private int rectHeight;

	private int offsetX;

	public DemoLabel() {
	}

	public DemoLabel(String text, Color color, int offsetX, int rectWidth, int rectHeight) {
		super(text);
		this.color = color;
		this.rectWidth = rectWidth;
		this.rectHeight = rectHeight;
		this.offsetX = offsetX;
		setPreferredSize(new Dimension(rectWidth + offsetX, rectHeight));
	}

	public void paint(Graphics g) {
		super.paint(g);
		g.setColor(color);
		g.fillRect(offsetX, 0, rectWidth + offsetX, rectHeight);
	}

	public static void main(String[] args) {
		JFrame jf = new JFrame();
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.getContentPane().add(new DemoLabel("Test", Color.BLUE, 80, 100, 40));
		jf.pack();
		jf.setVisible(true);
	}

}



;-)
HackTrack
6