26. februar 2002 - 23:40Der er
4 kommentarer og 1 løsning
Tegnebord på JPanel
Jeg har lavet et tegnebord (.drawLine(..) osv) på et JPanel-objekt, og har placeret det på en JFrame. Tegnebordet skal være hvidt og JFrame'en skal være blå. Når jeg starter programmet, har tegnebordet imidlertid samme farve som JFrame'en indtil jeg begynder at tegne på det, så får det den farve jeg har defineret. Hvordan får jeg mit JPanel-objekt til at være hvidt fra starten når jeg åbner mit program ?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Nu kan jeg ikke se dit tegnebord, men er du sikker på at størrelsen er sat korrekt. Jeg vil foreslå, at du tilføjer følgende til dit Tegnebord:
public Dimension getMinimumsize() { return new Dimension(300,300); } public Dimension getSize() { return getMinimumsize() } Og eventuelt kalder setSize(300,300) i din constructor.
Mit tegnebord er en klasse der extends JPanel, og bruges udelukkende til at tegne på vha paint(..), og en mouse-listener.
Tegnebordet skabes i Framens constructor som vist herover i min forrige kommentar.
Tegnebordet bliver hvidt i samme øjeblik jeg kalder update(Graphics g), men den metode kan jeg ikke kalde i Frame'ens constructor, for der er tegnebordets Graphics ikke skabt endnu, og det giver en nullPointerException hvis jeg prøver. (lød det meget forvirrende?)
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.