Zum Inhalt springen

ToolTip in einem Applet


ExAzubi

Empfohlene Beiträge

Gut, dass nicht nur ich das Problem hatte. Ich musste mir eine eigene Klasse dafür schreiben, mit der Einschränkung, dass es keinen Timer in Java 1.2 gibt, den ich für Ein- oder Ausblenden-Verzögerung verwenden konnte, aber du kannst gern weiter darn basteln (open-source Projekt, was? *g*)

Hier mal eben die Sources, macht 2,50:


public class ToolTip extends Canvas {

private static final Color standardBackground = SystemColor.info;

private MediaTracker tracker;
private String text; // the text to display
private Color background;

public ToolTip() {
tracker = new MediaTracker( this );
background = standardBackground;
}

public ToolTip(String text) {
this();
setText(text);
}

public void setText(String text) {
this.text = text;
}

public String getText() {
return this.text;
}

public void paint(Graphics g) {
Dimension size = size();
g.drawRect(0,0,size.width-1,size.height-1);
g.drawString(getText(),3,size.height-4);
}

public Dimension preferredSize() {
Dimension pref = new Dimension();
if (getText().length() > 0) {
FontMetrics ttfm = getFontMetrics(getFont());
pref.width = ttfm.stringWidth(getText())+7;
pref.height = ttfm.getHeight()+4;
}
return pref;
}
}
[/PHP]

Und wie dur's aus dem Applet (oder Application, what ever) ansprichst, erzähl ich dir in der nächsten Folge! ;)

Erstmal musst du den Tooltip initialisieren:

[PHP]
ToolTip mytoolTip = new ToolTip();

Dann am besten noch ein wenig manipulieren:


toolTip.setBackground(SystemColor.info);
toolTip.setForeground(SystemColor.infoText);
toolTip.addMouseListener(this);
this.add(toolTip, 0);
toolTip.hide();
[/PHP]

Dann kommen wir zur Action. In der Button-Abfrage müssen wir jetzt noch für jeden Button einen Tooltip-Text einfügen:

[PHP]
public void mouseEntered(MouseEvent me) {
setCursor(new Cursor(Cursor.HAND_CURSOR));
tooTip.setVisible(true);
if (me.getSource() == testButton) { toolTip.setText("Das ist ein Test!"); }
}

public void mouseExited(MouseEvent me) {
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
toolTip.setVisible(false);
}

Das ist so ziemlich das Grundgerüst. Musst du vielleicht noch ein wenig anpassen, weiß jetzt nicht mehr, ob ich die Größe dynamisch an den Text anpasse. :)

Have fun,

Florian

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...