dodání ihned! nové
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
BF
Avatar
David Flekna
Člen
Avatar
David Flekna:9.5.2020 17:31

Nedaří se mi nastavit jTable tak, aby po kliknutí pravým tlačítkem na libovolný řádek se tento označil

Zkusil jsem: Prohledávám dokumentaci Oracle a tutoriály. Používám Netbeans, ale nemůžu ani tam nikde najít jak bych toto nastavil.

Chci docílit: V programu mám tabulku, nad kterou jsem si vytvořil popup menu, kde jsou možnosti práce s daty v tabulce. Pokud však chci například upravit data v řádku, musím nejprve řádek nakliknout levým myšítkem a pak si pravým otevřít popup menu. Chtěl bych, aby po kliknutí pravým se řádek označil a otevřelo se popup menu. Tím bych zároveň na jedno kliknutí získal i souřadnice editovaného řádku.

 
Odpovědět
9.5.2020 17:31
Avatar
Odpovídá na David Flekna
Matúš Olejník:9.5.2020 20:12

Ahoj, neviem či je dôležité aby sa ti označil celý riadok alebo stačí bunka do ktorej si klikol.
Ak chceš označiť len bunku a zistiť súradnice bunky tak môžeš použiť

table.addMouseListener(new MouseAdapter(){
    public void mouseClicked(MouseEvent event){
        if(SwingUtilities.isRightMouseButton(event)){
            int rowIndex = table.rowAtPoint(event.getPoint());
            int columnIndex = table.columnAtPoint(event.getPoint());

            table.changeSelection(rowIndex, columnIndex, false, false);
            //zobrazit popup okno
        }
    }
});

Ak chceš označiť aj riadok tak nastav tabuľke aby si ho mohol označiť

table.setRowSelectionAllowed(true);

a po kliknutí pravým tlačidlom do metódy vyššie doplň ešte

table.setRowSelectionInterval(rowIndex, rowIndex);
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
9.5.2020 20:12
/* I am not sure why this works but it fixes the problem */
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
David Flekna
Člen
Avatar
Odpovídá na Matúš Olejník
David Flekna:10.5.2020 18:25

Tak to je přesně co jsem hledal. Díky moc.

 
Nahoru Odpovědět
10.5.2020 18:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.