java - Minimere applikationen i Windows-problem

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har skrevet en simpel applikation til at gemme noget tekst i et derby DB. Jeg har 2 knapper hver og en skaber en ny inputDialog. Mit problem er, at når jeg kører programmet på min Ubuntu PC, er det godt. Når jeg kører det på en Windows 7 PC, når inputdialogen vises, er hele ting minimeret og skjult fra brugeren. Så hver gang jeg vil have input fra brugeren skal han genoprette applikationen. Og det andet problem er, at programmet ikke vises i Alt-fanebladet også. Her er den kode, jeg bruger til at vise dialogen:


String s = (String) JOptionPane.showInputDialog(this, "Моля въведете име:");


Al hjælp vil blive meget værdsat.

Bedste reference


Jeg prøvede følgende kode - direkte fra main () via eclipse kører på Windows 7 64-bit. JFrame forbliver udstillet, selvom jeg forsøger andet.


JFrame f = new JFrame();
f.setSize(750, 500);
f.show();

JOptionPane.showInputDialog(f, "hello", "there");
System.out.println("hi");


Prøv dette, og hvis du får det samme resultat, så ved vi i det mindste, at det er et Windows-problem, som vi beskæftiger os med snarere end et Java-problem.


EDIT:


Efter at have kigget igennem din kode fandt jeg den fornærmende linje. Også som en sidebesked skal du generelt ringe til setVisible() efter , du har konfigureret dit vindue. Dette gælder især med min kode, da det ville kaste en undtagelse, hvis du forsøger at kalde setUndecorated() efter du har vist vinduet.


Din kode:


this.setVisible(true);           //This should be called after you finish configuration
device.setFullScreenWindow(this); //This is the problem!!!


I stedet skal du bruge:


this.setExtendedState(JFrame.MAXIMIZED\_BOTH);
this.setVisible(true);


Hvis du vil have dit vindue fuldskærm, så brug:


this.setUndecorated(true);
this.setExtendedState(JFrame.MAXIMIZED\_BOTH);
this.setVisible(true);