[java][swing] resizen window limiteren

Pagina: 1
Acties:

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
Is het in met Swing mogelijk om het window tijdens resizen niet kleiner te laten worden dan een opgegeven grootte?

Op dit moment, als een JFrame resizable is, dan kan het venster zo klein worden totdat alleen de titelbalk (met afgekorte titel) en omranding zichtbaar is (e.g. clientarea niet meer zichtbaar).

Het opgeven van een minimumSize aan de content pane (of een andere component erin) heeft geen effect. Alleen op de layout manager die blijkbaar pas wat mag zeggen als de resize al heeft plaatsgevonden.

Een mogelijkheid zou misschien een ComponentListener kunnen zijn die bij het resizen checkt of het hoofdwindow te klein is en in dat geval de minimum grootte opgeeft met setSize, of een vergelijkende methode. Maar dat lijkt me niet echt een mooie oplossing.

Iemand een beter idee?

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik ben zelf ook nog niet tegen een betere oplossing aangelopen.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je zou de decoratie kunnen uitzetten en zelf een decoratie en dus ook het resizen kunnen implementeren. Je kunt er dan voor zorgen dat hij echt niet kleiner wordt (dus niet weer op de goede size zetten als het kwaad als is geschied).

Eigenlijk zou de size een property moeten zijn die ge-set wordt door de resize code (zonder de size ook echt aan te passen). Deze property-change kan dan doorgegeven worden aan de listeners. Normaal is dit dan bijvoorbeeld een stukje code die de size-wijziging ook echt fysiek doorvoert, maar je zou een extra PropertyChangeListener kunnen toevoegen die dan een Veto uitspreekt.

Helaas is dit volgens mij niet bepaald mogelijk, tenzij je het uiteraard zelf implementeert met een eigen decoratie (als je dat gaat doen, is dit wel een aardig design).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment