Hyperlink in JTable

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hyperlink in JTable

    Hallo, ich lese mit Java die Daten einer Datenbank aus und gebe die Ergebnisse (Vorname, Nachname .... aber auch die Mitteilung) in einer JTable aus. Die Mitteilung hat dann meistens nicht vollständig in der Spalte platz. z.B (Hallo, ich ...)

    Nun möchte ich auf jede Zeile dieser Spalte (Mitteilung) einen Hyperlink setzten, so dass wenn man daraufklickt ein neues kleines Fenster (TextArea) erscheint, wo dann der gesamte Text der Mitteilung dargestellt wird.

    Hat einer eine Idee wie man das machen kann.
    Würde mich sehr auf eine Antwort freuen

    Grüße
    Daniel
  • Hi,
    wo genau liegt das Problem?
    Für das Popup erstellst du dir eine neue Klasse die von Frame (oder eben JFrame) ableitet.
    Als Konstruktor dieser Klasse übergibst du den Primary Key aus der Datenbank.
    In dem Frame kannst du dann wieder die Daten aus der Datenbank holen und darstellen.

    Frag einfach wenn was unklar ist, aber die Frage ist ziemlich allgemein.
  • Vielen Dank schon mal für die schnelle Antwort.

    Ich möchte dass in jeder Zeilte der Spalte "Mitteilung" der Tabelle ein Link entsteht (blaue Schriftfarbe, unterstichen und wenn man mit der Maus hinkommte, der LinkCurser (die Hand) erscheint, wie bei einem Link im Internet).
    Man sollte sofort erkennen dass es sich um einen Link handelt.

    Benötigt man da einen bestimmten Listener?
  • achso.. muss es denn unbedingt ein Hyperlink sein?
    Normalerweise würde ich dafür einen Button nehmen.

    Ansonsten heißt es selber implementieren....
    Google mal nach [google]jlinklabel[/google]

    http://www.devdaily.com/blog/Content/2/11/454/

    Im Prinzip sehr simpel mit ein paar MouseListenern gelöst

    Quellcode

    1. addMouseListener( new MouseListener() {
    2. public void mouseClicked(MouseEvent me) {
    3. setForeground(COLOR_ACTIVE);
    4. mouseOutDefault = COLOR_ACTIVE;
    5. //new JFrame.... hier dein neues Fenster öffnen
    6. }
    7. public void mouseReleased(MouseEvent me) {
    8. }
    9. public void mousePressed(MouseEvent me) {
    10. mouseOutDefault = COLOR_ACTIVE;
    11. }
    12. public void mouseEntered(MouseEvent me) {
    13. setForeground(COLOR_HOVER);
    14. setBackground(COLOR_BG_ACTIVE);
    15. Cursor cursor = getCursor();
    16. setCursor(cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
    17. }
    18. public void mouseExited(MouseEvent me) {
    19. setForeground(mouseOutDefault);
    20. setBackground(COLOR_BG_NORMAL);
    21. Cursor cursor = getCursor();
    22. setCursor(cursor.getDefaultCursor());
    23. }
    24. });
    Alles anzeigen