[Java] Swing > screen maximize

Pagina: 1
Acties:

  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
Ik ben nu maar weer eens bezig met een application en loop tegen een probleempje aan om het scherm netjes te maximaliseren.

ik heb het op 2 manieren geprobeerd met beiden niet echt het juiste resultaat:

1.
Java:
1
2
3
int width = new Double( Toolkit.getDefaultToolkit().getScreenSize().getWidth() ).intValue();
int height = new Double( Toolkit.getDefaultToolkit().getScreenSize().getHeight() ).intValue();
setSize( width, height );


2.
Java:
1
setSize( getMaximumSize() );


Het probleem hier is namelijk dat hij te ver gemaximaliseerd wordt.
Het scherm komt tot onder de startbalk uit en wordt ook niet netjes gepositioneerd.
Ik wil dus dat het scherm precies netjes neer wordt gezet als dat je op de "maximize" drukt.


Tevens nog een andere kleine vraag voor de "javanen".
Hoe gebruiken jullie precies de API?
Ik ben bij dit probleem namelijk maar es eerst begonnen met in de api te gaan zoeken op verschillende zaken waarvan ik dacht dat deze van toepassing waren.
Uiteindelijk heb ik toch weer moeten googlen om op Toolkit.getDefaultToolkit() uit te komen.
Nou is dat niet zo erg omdat je dan toch wel op het antwoord uitkomt maar hier zou je toch ook rechtstreeks via de api op uit moeten kunnen komen?
Wat is jullie werkwijze hierin?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 23-04 15:14

Robtimus

me Robtimus no like you

Maximaliseren:
Java:
1
2
3
4
5
6
7
8
9
10
11
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
if (Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH))
{
    frame.setExtendedState(Frame.MAXIMIZED_BOTH);
}
else
{
    System.out.println("cannot maximize");
}
frame.setVisible(true);
En over het zoeken: vaak Google, vaak in de API index als ik al een idee heb hoe iets heet, en verder veel onthouden waar het ongeveer zit als je het gebruikt ;)

Bovenstaande heb ik gevonden in de index: eerst gezocht naar een maximize method. Niet gevonden, dus naar setState gezocht in de index. Daar eentje gevonden van Frame, die verwees weer door naar setExtendedState. En aangezien JFrame een subclass is van Frame heeft JFrame die ook. Getest, en het werkt, dus hier neergegooid als oplossing ;)

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
Ok thnx! Dat werkt perfect!
Bovenstaande heb ik gevonden in de index: eerst gezocht naar een maximize method. Niet gevonden, dus naar setState gezocht in de index. Daar eentje gevonden van Frame, die verwees weer door naar setExtendedState.
Hoe bedoel je met de index?
Als ik in de api kijk open ik altijd:
http://java.sun.com/j2se/1.4.2/docs/api/

Hier kon ik deze dingen niet vinden > setState bijv.
En wat je al zei, je moet wel beginnen met een idee te hebben waar je moet zoeken.
Zo heb ik bijv. voor dit probleem ook naar classen gezocht als Screen etc. maar die bestaan niet...

Anderen die nog een bepaalde aanpak hiervoor hebben?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 23-04 15:14

Robtimus

me Robtimus no like you

Rechtsboven zit een shortcut genaamd Index. Als je daarop klikt krijg je een index, gegroupeerd per eerste letter.

More than meets the eye
There is no I in TEAM... but there is ME
system specs