Gå til innhold

Anbefalte innlegg

Skrevet

Hei,

 

Noen som vet hvordan får jeg et java vindu (JFrame) til å vises konstant over alle andre java vinduer (JFrames), uansett hva brukeren klikker på? Altså på toppen av alle andre vinduer?

Videoannonse
Annonse
Skrevet

Det er en metode i awt.Window som heter toFront(). Problemet er at vinduet bare legges forrest akkurat i det du gjør kallet, det kan jo skje mye i andre vinduer etterpå som dekker det til.

Løsningen kan være å lage en enkel thread som kjører en timer, og kalle toFront() kontinuerlig.

Skrevet

Først og fremst, takk for svarene!

 

setFront() metoden fungerte forsåvidt greit den, problemet var at den etter en stund tok fullstendig kontroll over windows og la seg over alle vinduene som fantes i det uendelige. Det hele endte faktisk i en skikkelig java krasj og en feilmelding jeg aldri har fått før.. Det ble litt bedre etter at jeg satt ned hastigheten mellom hver gang toFront() ble kalt, men desverre fikset det ikke alle problemene.

 

Har ikke sett så alt for mye på JDialog, men innbiller meg at den fungerer mer som en varslingsboks som spretter fram hvis det skjer noe feil eller når det ellers er nødvendig. Er interessert i en JFrame jeg kan forandre med så mye jeg trenger. Som å sette bakgrunnsfarge, størrelse, layout, vindusdekorasjon, osv.. Denne JFramen skal settes over en annen (og litt større JFrame) og det skal ikke være mulig og komme tilbake til den forrige JFramen uten at denne jeg holder på med avsluttes først (den lille altså). Andre windows-programmer og vinduer kan gjerne komme over den.

 

Versjon 1.5 tror ikke jeg tør å begi meg utpå enda, ettersom jeg holder på med et prosjekt sammen med flere andre persjoner. Vet ikke om det er så smart om vi benytter ulike versjoner..

Skrevet
... og det skal ikke være mulig og komme tilbake til den forrige JFramen uten at denne jeg holder på med avsluttes først (den lille altså). ...

Det er jo slik en modal JDialog virker. Du kan bruke en JDialog til mye mer enn bare de statiske meldingsboksene. Du bør ta en nærmere titt.

How to Make Dialogs

Skrevet

Hmm, jeg hadde fra før av laget en JFrame, bestående av et JPanel som jeg tegnet en del grafikk på, via drawString() og drawImage() som fikk sine graphics objekter fra paint() metoden. Finnes det en enkel måte å konvertere denne klassen til en JDialog?

Skrevet

Høres ut som du trenger et modalt dialogvindu...

JDialog (set modal true i konstruktøren)

med den underliggende JFrame'en som owner.

 

Deretter er det vel bare å hinte om at JDialog er en del av det vanlige awt treet, så add metoden funker som forventet...

 

mvh

CPL

Skrevet (endret)

Fikk nå det til å virke til slutt. Mulig det ikke var noe god ide å lage en klasse som utvidet JDialog og overkjørte paint() metoden dens? Fikk samme flimringen i skjermen som en får om en utvider JFrame klassen på samme måte, dvs hvite striper som drar seg over vinduet.

Endret av brannslange

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...