01. december 2002 - 15:10Der er
9 kommentarer og 1 løsning
Flytte JLabel på JPanel/JFrame
Hej
Jeg har et JLabel, jeg har placeret på et JPanel, der er placeret i en JFrame. Jeg vil gerne have mulighed for med musen at rykke mit JLabel rundt og evt. også at skalere det.
Gøres dette nemmest vha. et bestemt layout og i så fald hvilket, eller skal der lægges en mouselistener el. lign på JLabel???
Her er et eksempel hvor jeg placerer et ImageIcon på en JLabel og så definerer componentResized metoden for det JLabel objekt. I den metode printer jeg så bare den ændrede størrelse for JLabel.
Du skal blot lave en test.gif med noget tekst eller lignende på og lægge i samme dir. Det med at flytte rundt på det kunne du jo løse ved at placere dit JLabel på en JInternalFrame evt? Jeg har ikke umiddelbart andre ideer.
Jeg er gået videre med viht's idé om JInternalFrame lagt på et JPanel. Herpå lægger jeg så mine JLabels, og kan på den måde flytte dem rundt, men har endnu ikke fået knækket den med skalering af JInternalFrames.
Herudover vil jeg gerne kunne dreje dem...men ved ikke om det er muligt.
Jeg har engang lavet en klasse til at flytte rund med billeder, jeg har her modificeret den lidt, som jeg tror passe dit behov. Programmet er ikke helt stabilt i skaleringen, men du må selv tilpasse parametre så de passe dine behov.
Du skalerer ved at dobbeltklikke på label og holde museknappen nede og trække ud af x-aksen. y-aksen skal også flytte med , men den skalerer ikke. Flytning er bare at tage label med musen og flytte.
Kompiler og kør programmet så ser du min ide.
Håber du kan bruge det....Det er ikke helt det du er startet med, men det virker.
Du kan ikke få roteret dine komponenter, så skal du over og have lavet et tegneprogram, der også kan tegne komponenter. En måde hvormed du kan lave dit rykken rundt på komponenter er ved at udnytte drag and drop af komponenter og så kalde setBounds for at fastfryse komponenterne når de er lagt på plads.
Hej....SY22 Du takker for svar, men deler ikke point ud, jeg ved f.eks. at mit svar opfylder kravene til dit spørgsmål, og det er ikke for at være uhøflig, men det er trods alt 200 point.
Beklager den lange ventetid...selvfølgelig skal der deles point ud, og det var da også lige en metode som den ng-km har skrevet jeg var ude efter, takker for den!!! Jeg har dog først afsluttet mit programmerings-projekt idag, og ville vente med at uddele point til jeg var sikker på at jeg havde fundet den rigtige metode, men jeg har måske trukket den lige lidt for lang tid, beklager endnu en gang.
Synes godt om
Ny brugerNybegynder
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.