JLabel jako link do strony www

0

Witam napisałem sobie taką klasę:

 

package pl.asseco.amms.instalatorperyf.components;

import java.awt.Color;
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JLabel;

public class URLLabel extends JLabel {

    private Color kolorPodkreslenia;

    public URLLabel() {
        super();
        setForeground(Color.BLUE.darker());
        setCursor(new Cursor(Cursor.HAND_CURSOR));
        addMouseListener(new URLLabelHyperlinkLabel());
    }

    @Override
    public void setText(String text) {
        super.setText(text);
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if (kolorPodkreslenia == null) {
            g.setColor(getForeground());
        } else {
            g.setColor(kolorPodkreslenia);
        }

        Insets insets = getInsets();

        int left = insets.left;
        if (getIcon() != null) {
            left += getIcon().getIconWidth() + getIconTextGap();
        }

        g.drawLine(left, getHeight() - 1 - insets.bottom, (int) getPreferredSize().getWidth()
                - insets.right, getHeight() - 1 - insets.bottom);
    }

    public class URLLabelHyperlinkLabel extends MouseAdapter {

        @Override
        public void mouseClicked(MouseEvent e) {
            // i tutaj problem
        }
    }

    public Color getUnderlineColor() {
        return kolorPodkreslenia;
    }

    public void setUnderlineColor(Color underlineColor) {
        this.kolorPodkreslenia = underlineColor;
    }
}

Tekst wyglada jak link i kursor reaguje poprawnie ale teraz nie wiem jak "dać znać" systemowi że ma otworzyć domyślną przeglądarke i wejsć na tą stronę.

Jakieś pomysły?

PS: To jest stand alone app

1

Jak Java 6 to: Desktop.browse(URI), URI sobie zrobisz z JLabel.getText().

1 użytkowników online, w tym zalogowanych: 0, gości: 1