Missä vika???

Dangera

Haluan lisätä jTableen tooltipin, joka näyttää taulukon toisen sarakkeen arvon (Stringiä), kun hiiri on sarakkeen päällä, Koodasin seuraavasti:

private void jTableMouseMoved(java.awt.event.MouseEvent evt) {
int mouseOnrow = jTable.rowAtPoint(jTable.getMousePosition());
int mouseOncolumn=jTable.columnAtPoint(jTable.getMousePosition());

if (mouseOncolumn==1) {

jTable.setToolTipText(jTable.getValueAt(mouseOnrow,1).toString());
}
}

Homma toimii kuten haluan, mutta silti saan errorin

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Invalid index
at javax.swing.DefaultRowSorter.convertRowIndexToModel(DefaultRowSorter.java:497)
at javax.swing.JTable.convertRowIndexToModel(JTable.java:2620)
at javax.swing.JTable.getValueAt(JTable.java:2695)
at gui.PatientTablePanel.jTableMouseMoved(PatientTablePanel.java:115)
at gui.PatientTablePanel.access$100(PatientTablePanel.java:43)
at gui.PatientTablePanel$1.mouseMoved(PatientTablePanel.java:101)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:313)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:312)
at java.awt.Component.processMouseMotionEvent(Component.java:6308)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3273)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4251)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


Tosin, en ole sisäistänyt vielä Pointtien käyttöä, aloittelija kun ollaan. Miten errorin saa pois?

4

657

    Vastaukset 4

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Toteuta

      Suisittelen ylikirjoittamaan

      public String getToolTipText(MouseEvent event)

      metodin

      • Toteuta

        ja toisekseen mikä on jTable.getMousePosition() ???

        miksi et käytä evt.getPoint()

        ja kolmanneksi, käytä
        public String getToolTipText(MouseEvent event)

        eli vika tod.näk. tässä
        int mouseOnrow = jTable.rowAtPoint(jTable.getMousePosition());
        ja mouseOnrow arvo on -1


      • Dangera
        Toteuta kirjoitti:

        ja toisekseen mikä on jTable.getMousePosition() ???

        miksi et käytä evt.getPoint()

        ja kolmanneksi, käytä
        public String getToolTipText(MouseEvent event)

        eli vika tod.näk. tässä
        int mouseOnrow = jTable.rowAtPoint(jTable.getMousePosition());
        ja mouseOnrow arvo on -1

        Miten mun nyt pitää muokata tuota koodia?


      • Toteuta
        Dangera kirjoitti:

        Miten mun nyt pitää muokata tuota koodia?

        defaulttina JTable ottaa tooltipText :in renderöijän kautta ja jos siltä ei saa niin getToolTipText() metodin kautta.

        Eli sä voit asettaa renderöijän tooltipText :in vaikka prepareRenderer metodin kautta jos renderöijä on JComponent instanssia (niinku normaalisti on esim. JLabel).
        esim. http://www.exampledepot.com/egs/javax.swing.table/Tips.html

        Tai sitten tuon getToolTipText(MouseEvent event) metodin kautta
        esim. http://www.jroller.com/santhosh/entry/partially_visible_tablecells


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Riikka Purra on mukana Suomen huutokauppakeisari -sarjassa

      Suomen huutokauppakeisari on tavallisten suomalaisten ohjelma. Sarjan suosiosta kertoo se, että nyt alkaa jo 19. kausi t
      Maailman menoa
      125
      1274
    2. Paljonko on etäisyytesi kiinnostavaan naiseen km?

      Kaipailen tärkeää miestä ja pohdin hänen ajatuksiaan... ❤️
      Ikävä
      89
      959
    3. Kuuleppas

      ensimmäiset naissuhteet toimii miehelle eräänlaisena oppikouluna, mutta hän ei välttämättä itse ymmärrä oppineensa mitää
      Ikävä
      249
      954
    4. On meillä harvinaisen törkeä valtuuston puheenjohtaja

      Ja tyhmä! Kannattaisi googlettaa "julkisuuslaki" ja nojata siihen vasta sitten. Samalla voisi googlettaa muiden kuntien
      Kemijärvi
      75
      777
    5. Mitä näät

      Siinä miehessä?
      Ikävä
      54
      754
    6. Olet mieleni päällä edelleen, J

      En voi sille mitään. Ja olen yrittänyt voida, monen monta kertaa. Miten jäinkin näin kiinni sinuun... 😞
      Ikävä
      34
      672
    7. Olet aika julma minua kohtaan

      Antaisit vähän armoa.
      Ikävä
      66
      667
    8. Olisitko valmis

      Siihen?
      Ikävä
      46
      630
    9. Mikko Leppilampi loi TTK:ssa ankaran tavan - Jatkaako Veronica Verho haastavaa perinnettä?

      Suorien lähetysten juontaminen vaatii rautaista ammattitaitoa ja kovaa työtä. Tanssii Tähtien Kanssa -ohjelmassa on näh
      Kotimaiset julkkisjuorut
      30
      577
    10. Oletko miettinyt

      Mikä minusta tekee sinulle niin erityisen? Onko se samanlaiset lapsuusmaisemat? Työpaikan liian pitkät katseet? Selvittä
      Ikävä
      30
      575
    11. Provider miehistä..

      Tietyt miehet puhuvat ilkeästi naisista, jotka haluavat elää miehen tuloilla. Eikö? Mutta miksi tietyt miehet siitä pah
      Ikävä
      183
      557
    12. Mulla ei ole Suomessa enää mitään

      4 vuotta joutuu asumaan henkisessä vankilassa. Sitten voi muuttaa takaisin ulkomaille.
      Turku
      155
      555
    13. Kuinka nainen jaksat ja voit

      Toivottavasti hyvin.
      Ikävä
      35
      525
    14. Miksi älyllinen ponnistelu ei ole kaikille ihanaa?

      Auttakaa minua, en ymmärrä. 🥵 Miten on mahdollista, että joku ei pidä pähkäilystä ja älyllisestä ponnistelusta? Minus
      Sinkut
      97
      509
    15. Mihin hävisi Sofia?

      Palasiko mies ex-vaimon luo takaisin?
      Kotimaiset julkkisjuorut
      199
      485
    16. Miten tehdään Todellavaikeeta hulluksi?

      Tässä on nainen, jolla on korkea vaatimustaso! Todellavaikeeta voisi lukea tämän ja kiehua kateudessaan. 🤭 "[Etunimi
      Sinkut
      91
      458
    17. Oulaisten kaupunki/ Honkamajan kuntolenkit

      Mikä ihme riivaa Oulaisten kaupunkia,kun honkamajan kuntopolut jääneet koko kesältä heinät ja pajut niittämättä? Kenelle
      Oulainen
      17
      447
    18. Olet oikeasti paras

      Mies, joka on kohdalleni sattunut. Oikeastaan liian hyvä, jos rehellisiä ollaan. Sinun paikkaasi ei kukaan vie, vaikka e
      Ikävä
      27
      446
    19. Ottaisit yhteyttä!

      🙄
      Ikävä
      34
      438
    20. Paula hakenut rovaniemelle

      Ei vissiin seurakunnan hommat ollutkaan mieleen vai olisiko kenties joku muu syy?
      Kemijärvi
      19
      432
    Aihe