10. november 2004 - 14:25Der er
16 kommentarer og 1 løsning
Knapper "over" billede
Hej Jeg vil gerne lave nogle knapper som er gennemsigtige sådan, at jeg kan ligge dem over et billede sådan at når man trykker et bestemt sted på dette billede sker der et mens hvis man trykker et andet sted sker der noget andet. Har forsøgt med jbutton.setOpaque(true), men denne metode er afhængig af look and feel, og virker ikke i dette tilfælde. Hvad kan man gøre for at lave noget tilsvarende - eller kan jeg evt. ændre i et eller andet sådan at setOpaque metoden virker?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
behøver man så overhovedet bruge en knap til formålet? hvis du kender størrelsen på billedet kan du vel lave en mouseevent som vurdere hvor på billedet den bliver klikket (et område) og udfører en handling ud fra det?
hvis du har målene på dit billede kan du lave en 2d array.. eller arraylist som gemme på nogen kordinator.. inden for nogen områder... så lav en onmouseclick event eller hvad den hedder.. .når den bliver klikket læser den kordinatorne og udfører den handling som passer herefter
Nej det gør man sikkert ikke men det var jo også det jeg ledte efter altså en metode jeg kunne bruge - har du ikke et kode eksempel på det med mouseevent og koordinater - behøver ikke være over et billede
Hvis andre har et lidt mere enkelt og overskueligt kode eksempel hvor det at trykke med musen et bestemt sted giver en eller anden handling er de stadig meget velkomne
Hej Kalp - det er jo rigtigt det du skriver, men en anelse indviklet eksempel kun det nederste er relevant - jeg fik det dog til at virke - så du skal have nogle point. Skal bare lige bruge et svar.
og tænkte på et evt andet forslag... har ikke prøvet.. men i delphi kan man godt klikke på et label... så hvis du lægger tomme labels over dit billede og kan lave en event på det så er det vel fint nok også..
Men selvfølgelig hvis du vil hjælpe lid yderligere så er mit næste spørgsmål - når jeg nu har følgende public void mouseClicked (MouseEvent event) { Point p = event.getPoint(); double x = p.getX(); double y = p.getY(); // pool bord if ( x<185 && x>120 && y>255 && y<340 ) { changePic(); } System.out.println(p); } Så er problemet jo at hvis man ændre på skærmstørrelsen så passer koordinaterne jo ikke nødvendigvis længere - hvordan kan jeg komme omkring dette problem?
hmm... har jeg ikke tænkt over faktisk.. giv mig til i morgen så skal jeg se om jeg kan finde ud af noget...
men tænkte dog lidt på noget.. hvis dit billede har nogen fastlagte mål fra start af burde det ville ikke have nogen indflydelse hvilken skærmopløsning man har? har du testet?
Jeg tror måske det har noget med mit layout at gøre - har i denne lille applikation brugt Borderlayout og det gør jo at tingene flytter sig hvis man resizer, så det kan være problemet løser sig hvis jeg vælger et andet layout - men jeg tænket at det måtte være en eller anden smart måde at løse problemet på.
jeg vil prøve at se hvad jeg kan komme frem til i morgen... kan evt være man kan bruge import java.awt.Dimension; til noget...
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.