ToolTipText()

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Ist es grundsätzlich möglich, einen ToolTipText zu verwenden (ich habe auf diesem Infos gespeichert) aber nicht anzuzeigen?

lg und vielen Dank
Michl
 

The_S

Top Contributor
Warum verwendest du überhaupt einen ToolTip, wenn du ihn nicht anzeigen möchtest? ???:L
 

MQue

Top Contributor
Weil ich Informationen auf diesem gespeichert habe, die ich benötige aber nicht unbedingt anzeigen muss,
Hast Du eine Idee, wie ich diesen ausschalten kann?
 

The_S

Top Contributor
Warum speicherst du - für den User irrelevante - Informationen zu einem Objekt im ToolTipText?

Um welche Klasse handelt es sich denn?
 

MQue

Top Contributor
Wie könnte man auf jedem Reiter eines JTabbedPane eine Nummer speichern, die nicht auf dem Reiter angezeigt werden soll (ich habs eben im ToolTipText() gespeichert und möchte diesen eben jetztz nicht anzeigen)
 

byte

Top Contributor
Die Tabs einer JTabbedPane sind einfach Components. Schreib Dir also eine eigene Komponente und füg dieser ein zusätzliches Feld ein, in dem Du diese Informationen speicherst.
 

MQue

Top Contributor
hast du da vielleicht ein kurzes Beispiel?
mit insertTab(...) füge ich ja einen neuen Tab hinzu und diese Methode muss überschrieben werden, oder?
und wie?

lg und vielen Dank
 

Marco13

Top Contributor
Beschreib' vielleicht nochmal kurz, WARUM du da so eine ominöse Nummer speichern willst. Irgendwie hört sich das ziemlich schräg an...
 

MQue

Top Contributor
Hallo,

wir arbeiten an einem Projekt, JTabbedPane und JTree kombiniert,
wenn ein node am JTree gedrückt wird dann bekommen wir die ID (da es mehrere Nodes mit gleichen Namen im JTree geben kann haben wir eben diese ID), und unterer Code schaut dann, ob dieses node schon im JTabbedPane vorhanden ist.
Die ID auf den einzelnene Tabs ist eben im toolTipText hinterlegt und da liegt eben das Problem.

Code:
for (int i = 0; i < a.getTabCount(); i++) {
           if(a.getToolTipTextAt(i).equals(String.valueOf(node.getID()))) {   // hier liegt das Problem
                a.setSelectedIndex(i);
                a.scrollRectToVisible(a.getBoundsAt(i));
                return; 
                } 
            } 


so wird der Tab eingefügt:
public void insertTab(String title, Icon icon, Component component, String tip, int index, int constraint, int nodeID) {
                this.nodeID = nodeID;   // hier habe ich die nodeID gespeichert aber wie kann ich oben die einzelnen Tabs durchlaufen und bekomme jeweils die zugehörige nodeID?
                this.insertTab(title, new CloseTabIcon(icon, title, noneSelectedColor), component, tip, index);
             }
 
G

Guest

Gast
Hallo,

wie byto bereits angemerkt hat, kann man sich eine eigene Komponente schreiben, die in einer Variable ihre ID speichert. Ähnlich wie es scheinbar schon mit den Konten im JTree gemacht wurde.
siehe Zeile 3 in Deinem Bsp-Code

Gruss Michael
 

Marco13

Top Contributor
Eine eigene Component-Ableitung wäre IMHO ein Overkill. Und die Information in einem Tooltip zu speichern is Bogus. Du könntest einfach eine Map verwenden. Die Mappt dann entweder TreeNodes auf Tabs, oder meinetwegen TreeNodesa auf IDs und IDs auf Tabs.
 

MQue

Top Contributor
das mit der Map versteh ich nicht ganz -> alle Tabs die offen sind mit der nodeID in eine Map und wenn ein node angeklickt wird in der Map nachschauen, oder wie meinst du das,

Das mit der Component-Ableitung scheint mir die sauberste Lösung,
Wie könnte ich das machen bzw was leite ich ab und was überschreibe ich?

Wäre sehr dankbar für nochmalige Hilf,
Vielen Dank schon mal


lg
Michl
 

Marco13

Top Contributor
Das mit der Map
Code:
class Foo
{
    private Map<Integer, Integer> mapNodeIdToTabIndex = new HashMap<Integer, Integer>();

...
    public void insertTab(String title, Icon icon, Component component, String tip, int index, int constraint, int nodeID) {
        this.insertTab(title, new CloseTabIcon(icon, title, noneSelectedColor), component, tip, index);
        mapNodeIdToTabIndex.put(node.getID(), index);
    }

...
    for (int i = 0; i < a.getTabCount(); i++) 
    {
        Integer tabIndex = mapNodeIdToTabIndex.get(node.getID());
        if (tabIndex != null)
        {
            a.setSelectedIndex(tabIndex.intValue());
            a.scrollRectToVisible(a.getBoundsAt(tabIndex.intValue()));
            return;
        }
   }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ToolTipText Event abfangen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben