Avatar billede ladyhawke Novice
01. juni 2001 - 11:13 Der er 5 kommentarer og
1 løsning

Koordinater...

Jeg vil tegne et rektangel vha. musen, på en JLabel. Problemet er bare at de koordinater jeg modtager når man trykker musknappen ned ikke kan bruges direkte til at tegne med, for af en eller anden grund bruges den bagvedliggende JFrame som reference når rektanglet skal tegnes. Hvad kan man gøre for at undgå dette?
Avatar billede pstric Nybegynder
01. juni 2001 - 12:02 #1
Kan du ikke bare trække din label\'s x, y koordinater fra?
Avatar billede ladyhawke Novice
01. juni 2001 - 12:42 #2
Hmm jeg skal lægge en afstand til (fra JFrame ->JLabel), men hvordan får jeg de rigtige koordinater, så jeg kan regne afstanden ud?

Viduet består af et JFrame, som har et JPanel, med en JLabel på. Jeg kan ikke få getLocation til at give det rigtige resultat...
Avatar billede fadme Nybegynder
01. juni 2001 - 18:34 #3
Det er lidt af et gæt men, kan det ikke være fordi at en JLabel slet ikke er \"modtagelig\" overfor UserInput, og derfor bliver det, det bagvedliggende Component du får kordinater fra. Kan et JPanel ikke bruges istedet?
Avatar billede trolle Nybegynder
01. juni 2001 - 18:39 #4
Kan du ikke blot lave en klasse der extends JLabel...  Jeg har prøvet:

import java.awt.event.*;
import javax.swing.*;
class Label2 extends JLabel implements MouseListener {
   
    public Label2(String s) {
        super(s);
        addMouseListener(this);
    }

    public void mouseReleased(java.awt.event.MouseEvent arg1){ }

    public void mousePressed(java.awt.event.MouseEvent arg1){ }

    public void mouseExited(java.awt.event.MouseEvent arg1){ }

    public void mouseEntered(java.awt.event.MouseEvent arg1){ }

    public void mouseClicked(java.awt.event.MouseEvent arg1){
    System.out.println(arg1.getX()+\"    \"+arg1.getY());
    }
}

hvilket virker fint!
Avatar billede ladyhawke Novice
02. juni 2001 - 10:40 #5
Jeg tror trolle er inde på noget rigtigt, men der skal mere til, for jeg får de rigtige koordinater fra musen (i forhold til det billede jeg vil tegne på), men når jeg så vil tegne bruges den yderste komponent som reference. Derfor skal jeg pusle lidt med at overide nogle paint metoder etc.
Avatar billede ladyhawke Novice
05. juni 2001 - 10:26 #6
Med subklasse, overrides og et observerpattern har jeg løst problemet
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