Avatar billede kneppepoliti Nybegynder
19. juni 2006 - 13:13 Der er 10 kommentarer og
1 løsning

Højreklik

Er der nogen der kan fortælle mig hvordan jeg i et stykke kode som dette kan detektere om der er tale om et højreklik:

    public boolean mouseDrag(Event event, int i, int j)
    {
        newx = i;
        newy = j;
        if(mouseInViewer)
        {
            panning = true;
            if(event.shiftDown())
                zoom = 0.970873786407767D;
            else
            if(event.controlDown())
                zoom = 1.03D;
            else
                zoom = 1.0D;
            ResetCursor();
        }
        repaint();
        return true;
    }

Kan det udlæses af event? For det er ikke lige lykkedes mig :(
Avatar billede _carsten Nybegynder
19. juni 2006 - 15:29 #1
Så vidt jeg husker, kan dette gøre det

if(event.getButton() == event.BUTTON3)
            System.out.println("Højreklik");

if(event.getButton() == event.BUTTON1)
            System.out.println("Venstreklik");
Avatar billede kneppepoliti Nybegynder
19. juni 2006 - 16:10 #2
Min compiler siger den ikke genkender .getButton() kommandoen... :(
Avatar billede _carsten Nybegynder
19. juni 2006 - 17:43 #3
Metoden er tilføjet i version 1.4, er din version af JDK mindre end 1.4 ?
Avatar billede kneppepoliti Nybegynder
19. juni 2006 - 19:29 #4
Det er den nyeste JDK
Avatar billede kneppepoliti Nybegynder
19. juni 2006 - 19:31 #5
Anvender BlueJ til at kompilere
Avatar billede kneppepoliti Nybegynder
19. juni 2006 - 19:34 #6
Den samlede kildekode er her: http://www.tommyjensen.com/ptviewer.java
Avatar billede _carsten Nybegynder
19. juni 2006 - 20:18 #7
Prøv at ændre metoden til nedenstående - burde give samme effekt

HUSK import java.awt.event.*;  i toppen af filen

    public boolean mouseDrag(MouseEvent event, int i, int j)
    {
        newx = i;
        newy = j;

        if(event.getButton() == event.BUTTON3)
            System.out.println("Højreklik");

        if(mouseInViewer)
        {
            panning = true;
            if(event.isControlDown())
                zoom = 0.970873786407767D;
            else
            if(event.isControlDown())
                zoom = 1.03D;
            else
                zoom = 1.0D;
            ResetCursor();
        }
        repaint();
        return true;
    }
Avatar billede kneppepoliti Nybegynder
19. juni 2006 - 21:25 #8
Nice, nu virker det. You're the man! :)

Smid et svar og få dine point :)
Avatar billede _carsten Nybegynder
19. juni 2006 - 21:40 #9
:) Svar!
Avatar billede kneppepoliti Nybegynder
20. juni 2006 - 10:47 #10
Var desværre lidt for hurtig der :(
Det kompilerede, men mouseDrag() bliver åbenbart ikke kaldt når event-parametren ændres...

Nogen idé til hvad der skal ændres for at den benytter den når jeg trækker med musen i min Applet?

Du skal nok få pointene :)
Avatar billede kneppepoliti Nybegynder
20. juni 2006 - 11:32 #11
Nå, der skal lige implementeres en mouselistener, samt nye metoder. Men har vist fundet ud af det...  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester