12. maj 2009 - 21:36Der er
18 kommentarer og 1 løsning
GUI problem med dialogbox
Hej eksperter,
Jeg har tidliger rejst næsten samme spørgsmål, men uden den store respons.
Jeg har et problem med en java applikation, som kører i fullscreen. Hver gang der kommer en dialogbox frem (i applikationen), så minimeres applikationen fra fullscreen til tray. Det er noget nyt noget som programmet gør efter nogle nye windows opdateringer.
Hvordan kan jeg undgå det, og sørge for at applikationen forbliver i fullscreen hele tiden, også når en dialogbox kommer frem.
Det er hamrende irriterende, og kan ikke rigtige finde nogle hints om det.
Jeg forstår godt din løsning på mit svar, med at lave en "hjemmelavet" dialogbox, men jeg vil helst holde mig til en standard "windows" dialogbox, - for jeg benytter mig sådan lidt blandet af YES/NO, OK og YES/NO/CANCEL... Så det vil være lidt omfattende at lave dem alle om.
Jeg gør således... (ligeledes i en IFrame)
int response = JOptionPane.showConfirmDialog(getContentPane(), new String[] { "Er du sikker på, at du vil lukke programmet", "og dermed afslutte alle igangværende spil?"}, "Afslut programmet?", //JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
switch(response) { case JOptionPane.YES_OPTION:{ ... }//case yes case JOptionPane.NO_OPTION:{ ... }//case no }//switch
...men når ovenstående indtræffer, så minimeres min fullscreen applikation... det er hamrende irriterende, for det har virket upåklageligt indtil Microsoft har ændret noget i de seneste windows updates.
Hvad er ægte fullscreen, udover at være et vindue åbnet i maksimeret tilstand ??
Jeg ved godt mit lille eksempel ikke åbnede i maximeret tilstand, men det er vel bare en detalje som kan kopieres fra mit første eksempel.
JInternalFrame er noget helt andet, der anvendes i en JDesktopPane, der igen addes til en JFrame og som >>visuelt<< aldrig bliver større en den JFrame den er indeholdt i.
mcb2001: Jeg laver allerede fullscreen som du også henviser til.
_carsten: Dit eksempel er udmærket, men applikationen er jo ikke fullscreen, så kan ikke rigtig se om det virker, for mit problem opstår kun i fullscreen. Kan du lave et eksempel hvor det kører fullscreen - må sq indrømme jeg ikke helt kan regne ud hvordan jeg skal lave dit eksempel til fuldskærm.
Ja, det har jeg også prøvet... men desværre med samme udfald. Hver gang jeg får en dialog boks op, så minimerer den fra fullscreen. Når jeg så maksimere applikationen igen, så kan jeg se dialogboksen, og fortsætte.
Når jeg laver en JOptionPane i en fullscreen applikation som mcb2001 også henviser til, så minimerer applikationen hvergang JOptionPane't kommer frem. Det virker fint nok i eksempler som det du gav, hvor applikationen ikke er i fullscreen.
altså du mener lidt som der blev lagt op til først, altså at lave min egen. Det vil selvfølgelig virke, men jeg benytter dem ret meget i flere varianter, så kunne jeg bruge windows egen ville det jo være at foretrække - det ville også være hurtigst, men er det eneste løsning er der selvfølgelig ikke andet at gøre.
Synes jo bare det er skide ærgeligt, hvis det er eneste løsning.
jamen, du kunne vel lave et "JPanel" eller lignende, som implementerer den generele funktionalitet du har brug for, og så smide den ind over din JFrame, når du vil have brugeren til at tage stilling til noget.
ja, og det burde virke - men jeg har ikke den store erfaring med lige det problem, jeg har primært brugt "ægte" fullscreen til at kunne tegne store fraktaler direkte på skærmen, og lave zoom og scroll funktionalitet direkte... havde ikke det store behov for JOptionPanes til det, da jeg aldrig har lavet programmer/spil til fullscreen :-)
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.