Archief - JAVA: Linker muisklik simmuleren vanuit code

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

=(X)=RaVen=

Legacy Member
De situatie is als volgt:
Ik heb een jList (javax.swing) en daar zitten namen in.
Als je rechtermuisknop klikt op die lijst krijg je een menuutje (waarmee je de geselecteerde persoon kunt kicken :D).
Nu is het probleem, als je linkerklikt op de lijst, selecteer je een naam.
Als je rechterklikt op de lijst krijg je het menuutje maar blijft de selectie zoals ze was.
Ik zou nu willen rechterklikken en ineens de naam selecteren + het menuutje tonen.
mijn code:
PHP:
    private void toonMenu(java.awt.event.MouseEvent evt) {
        JMenuItem menuItem;

        JPopupMenu popup = new JPopupMenu();
        menuItem = new JMenuItem("Kick client");
        menuItem.addActionListener(this);
        popup.add(menuItem);
        // Als men op de rechtermuisknop kliktte
        if ((evt.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {
            popup.show(evt.getComponent(),evt.getX(), evt.getY());
        }
    }
    public void actionPerformed(ActionEvent e) {
        String s = (String) cboChatters.getSelectedValue();
        if(s != null && !s.equals("@Admin")) {
            server.kickClient(s);
        }
    }
Kan je dus vanuit de code gewoon zeggen "ik heb ook links geklikt", zonder effectief te klikken.

Voor je antwoord, 2 opmerkingen.
1) ik heb (uitgebreid) gegoogled.
2) ik heb het over JAVA, niet JavaScript.

mvg
=(X)=RaVen=

servi

Legacy Member
omwille van deze opmerkingen en in andere threads is fat-beavis geband.

Ollie

Legacy Member
De JList class heeft een method

PHP:
public int locationToIndex (Point p)

die, naar ik aanneem, de index van het item op positie p (x, y coördinaten) geeft. Eens je de index van het geklikte item kent, kan je deze selecteren met de method

PHP:
public void setSelectedIndex (int index)

waarna, je je popup menu kan tonen.

=(X)=RaVen=

Legacy Member
wreed merci, eindelijk een deftig antwoord :)
Zal sebiet is ineens proberen :niceone:

=(X)=RaVen=

Legacy Member
PHP:
    private void toonMenu(java.awt.event.MouseEvent evt) {
        JMenuItem menuItem;

        JPopupMenu popup = new JPopupMenu();
        menuItem = new JMenuItem("Kick client");
        menuItem.addActionListener(this);
        popup.add(menuItem);
        if ((evt.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {
            popup.show(evt.getComponent(),evt.getX(), evt.getY());
            int index = cboChatters.locationToIndex(evt.getPoint());
            cboChatters.setSelectedIndex(index);
        }
    }
ty het werkt :bow:

wickey

Legacy Member
Originally posted by servi
omwille van deze opmerkingen en in andere threads is fat-beavis geband.

Eigenlijk dank ik u hier voor servi. Als ik naar de laaste 5topics kijk waar hij op heeft gerepleyd ... ist voze commentaar :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan