# ToolTip mit Link zum anklicken



## fredwak (18. Okt 2012)

Hallo 

bin neu hier im Forum und hätte auch gleich eine Frage :rtfm:

unzwar ich google jetzt schon mehere Stunden nach 
einmal dem Richtigen Begriff und einmal nach der "Methode"

mein plan:

ich möchte einen "Tooltip" haben, welcher erscheint, wenn ich über eine Zelle/Zeile in einer JTable gehe.
ich habe jetzt bereits einen. Funktioniert super :applaus:

doch ich bin leider noch nciht fertig. Ich möchte IN diesen Tooltip einen Link einbauen (mit HTML??? :L ).
auf diesen Link soll man dann auch klicken können. 
Der Tooltip den ich habe erschein richtig. doch wenn ich versuche den Link anzuklicken, verschiebt sich logischer weiße der Tooltip.

Meine Frage:
gibt es einen "ToolTip" welcher beim Draufgehn mit der Maus NICHT verschwindet/sich verschiebt. Wenn ja wie heißt der und wie wird dieser angewendet? (am liebsten wäre mir ein beispiel an einem Label)

Liebe Grüße
Freddy


----------



## Camill (18. Okt 2012)

Hallo,

habe mal ein kleines Beispiel gemacht, evt. hilft dir das ja schon weiter - ob das ganze so schön/sinnvoll ist sei mal dahingestellt.


```
package de.tooltip.demo;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToolTip;
import javax.swing.ToolTipManager;

public class TooltipDemo {

	public static void main(String[] args) {
		new TooltipDemo();
	}

	private TooltipDemo() {
		ToolTipManager.sharedInstance().setDismissDelay(10000);

		JFrame frame = new JFrame("ToolTip-Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(200, 100);
		frame.setLocationRelativeTo(null);

		JPanel content = new JPanel();
		frame.add(content);

		content.add(this.createLabel("foo", "click me!"));
		content.add(this.createLabel("bar", "click me too!"));

		frame.setVisible(true);
	}

	private JLabel createLabel(final String lblText, String toolTipText) {
		JLabel lbl = new CustomLabel(lblText);
		lbl.setToolTipText(toolTipText);
		JToolTip toolTip = lbl.createToolTip();
		toolTip.addMouseListener(new MouseAdapter() {

			@Override
			public void mouseClicked(MouseEvent e) {
				String title = "ToolTip - Click";
				String message = "tooltip of label '" + lblText
						+ "' was clicked";
				JOptionPane.showMessageDialog(null, message, title,
						JOptionPane.INFORMATION_MESSAGE);
			}
		});
		return lbl;
	}
}
```


```
package de.tooltip.demo;

import java.awt.Point;
import java.awt.event.MouseEvent;

import javax.swing.JLabel;
import javax.swing.JToolTip;

public class CustomLabel extends JLabel {

	private static final long serialVersionUID = 1L;

	private JToolTip toolTip = new JToolTip();

	public CustomLabel(String text) {
		super(text);
	}

	@Override
	public Point getToolTipLocation(MouseEvent event) {
		return event.getPoint();
	}

	@Override
	public JToolTip createToolTip() {
		this.toolTip.setComponent(this);
		return toolTip;
	}
}
```


----------



## fredwak (19. Okt 2012)

guten morgen 

das ist leider nicht ganz was ich wollte.

ich wollte eigentlich einen tooltip der dableibt, wenn mit dem Courser drauf geht. Normaler weiße verschiebt sich der tooltip ja eigentlich. Denn den ich benötige, darf sich nciht bewegen, sondern muss dableiben, um dann IN dem ToolTip auf einen Link klicken zu können

Danke dir trotzdem :applaus:

Liebe Grüße
freddy

<EDIT>Tut mir leid ich habe mir nur den oberen SourceCode Angschaut. VIELEN DANK. Das ist genau das was ich gesucht habe  :toll::toll::applaus::applaus:<EDIT>


----------

