Gå til innhold

tooltip når musa er over en celle


Anbefalte innlegg

Skrevet

Har en JTable som registrerer når det blir trykket på en rad, og da spretter det opp et nytt vindu med mer informasjon. Jeg ønsker også tooltip når bruker holder musa over en bestemt kolonne, og alt etter hvilken rad musa er på, så kommer det opp tooltip som skriver noe informasjon om den cella.

 

Noen som kan gi meg litt tips på hvordan jeg kan få til dette? Har en lytter nå som registrer at det blir trykket på en rad, og den ser slik ut:

 

tabell.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

ListSelectionModel rowSM = tabell.getSelectionModel();

rowSM.addListSelectionListener(new ListSelectionListener()

{

public void valueChanged(ListSelectionEvent e)

{

 

}

}

 

Jeg kan vel ikke bruke samme lytter for å få til tooltip?

Videoannonse
Annonse
Skrevet

skrev et lite eksempelprogram akkurat nå, bare slik at du kan se prinsippet. Sikkert masse som kan plukkes på, men dette er en måte å gjøre det på. Hvis du lurer på noe i koden så bare spør, gadd ikke å skrive kommentarer i den.

 

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class Vindu extends JFrame{
JTable tabell = new JTable(10, 10);

public Vindu(){
 tabell.addMouseMotionListener(new Lytter());
 add(tabell);

}

private class Lytter extends MouseMotionAdapter{
 public void mouseMoved(MouseEvent e){
 	int col = tabell.columnAtPoint(e.getPoint());
 	int row = tabell.rowAtPoint(e.getPoint());
 	tabell.setToolTipText("" + tabell.getValueAt(row, col));
 }
}
}

class TabellProg{
public static void main(String[] args){
 Vindu vindu = new Vindu();
 vindu.setVisible(true);
 vindu.pack();
 vindu.setLocation(400, 400);
}
}

Skrevet (endret)

Det var slik jeg tenkte ja :-)

 

Er det mulig å få en tooltip til å ha flere linjer uten å måte bruke html-tags? Noen som vet? :-)

Endret av tommy18
Skrevet

tabell.setToolTipText("bla bla bla " + tabell.getValueAt(row, col) +"\nBla bla bla");

 

Her får du to linjer.. Bare legg på fler

\n

for fler linjer.. (\n=linjeskift)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...