jbe Skrevet 20. november 2003 Del Skrevet 20. november 2003 Hvordan kan man låse en frame, slik at den ikke kan gjøres større eller mindre når den er åpnet? Jon Lenke til kommentar
threiran Skrevet 20. november 2003 Del Skrevet 20. november 2003 Du kan for eksempel benytte metoden setResizeable(boolean b). mvh CPL Lenke til kommentar
jbe Skrevet 20. november 2003 Forfatter Del Skrevet 20. november 2003 får ikke det til å virke... noen andre tips?? Lenke til kommentar
threiran Skrevet 20. november 2003 Del Skrevet 20. november 2003 Jeg vet ikke om noen andre praktiske måter å få det til på. Andre? Følgende fungerer finfint hos meg. Det er umulig å endre størrelse på vinduet som kommer opp: public class FrameLockTest extends javax.swing.JFrame { public FrameLockTest() { setResizable(false); pack(); setSize(100,100); } public static void main(String args[]) { new FrameLockTest().show(); } } lykke til CPL Lenke til kommentar
Manfred Skrevet 21. november 2003 Del Skrevet 21. november 2003 (endret) du er klar over at pack() og setSize(int, int) forsåvidt gjør det samme? begge setter størrelsen på vinduet. Overkill kalles dette. Det som her gjør at den ikke er mulig å resize er setResizeable(boolean). Har du forresten en god forklaring på at du bruker .show() ? new FrameLockTest() ville gjort samme nytten. Endret 21. november 2003 av Manfred Lenke til kommentar
threiran Skrevet 21. november 2003 Del Skrevet 21. november 2003 du er klar over at pack() og setSize(int, int) forsåvidt gjør det samme? begge setter størrelsen på vinduet. Overkill kalles dette. Hmmm! Der har du har helt rett. *sette seg ned foran API'en* Forskjellen ligger i at setSize setter størrelsen til det du har oppgitt, og pack() setter størrelsen basert på preferred size til komponentene du har lagt til, men pack() forbereder også vinduet for visning (noe forsåvidt show() også gjør). Så i dette eksempelet er tydelig vis pack() unødvendig. Det som her gjør at den ikke er mulig å resize er setResizeable(boolean). Det er jeg klar over, jeg beskrev det nok ikke helt klart, men det var et eksempel på bruken av setResizeable(boolean), siden jeg ikke hadde andre forslag til hvordan man kan gjøre det umulig å endre størrelse på et vindu (som jo var utgangsspørsmålet). Har du forresten en god forklaring på at du bruker .show() ? new FrameLockTest() ville gjort samme nytten. Vel, med Java 1.4.2-b28 (og alle versjoner jeg kan huske å ha brukt av java siden 1.2.1, både ved bruk av awt og swing) kommer det ikke opp noe vindu før show() kalles (eventuelt setVisible(boolean)). Siden det var liten vits med eksempelet dersom det ikke kom opp et vindu (som man ikke kunne endre størrelsen på) benyttet jeg derfor show(). Hvis finnes en enklere måte å få vist vinduet på, lærer jeg gjerne Programmet var i utgangspunktet ikke tenkt som god kode, bare lite... mvh CPL Lenke til kommentar
jbe Skrevet 21. november 2003 Forfatter Del Skrevet 21. november 2003 Fikk det til å fungere nå! Takk for hjelpen! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå