Gå til innhold

Hvordan fikse at vinduet må resizes for å få frem innholdet?


Anbefalte innlegg

Hei!

 

Eg er nybegynner i programmering, og har laga et enkelt program for å lagre kontaktinformasjon i JAVA ved hjelp av Eclipse. Det inneheldt 1 rekke med JLabels og en rekke med JTextField + en JButton nederst (denne ligger i et annet panel).

 

Når eg kjører programmet, så får eg opp vinduet, men ser berre bakgrunnsfargen og ikkje innholdet. Det er først når eg drar litt i vinduet at innholdet kommer frem. Innholdet vil ikkje forsvinne igjen om eg så tar vinduet mindre igjen etterpå.

 

Nokon som veit kva som kan forårsake et slikt problem, og korleis det kan løysast?

 

Har brukt JFrame med BorderLayout, og innholdet ligger i JPanel som har GridLayout og er plassert i Center.

 

For å sette størrelse på vinduet har eg brukt

 

aFrame.setPreferredSize(new Dimension(WIDTH, HEIGHT))

 

 

Har virkelig ingen idè om kva eg kan gjere for å rette opp i problemet, og håper at det er nokon som veit om ei løysing her! =)

Lenke til kommentar
Videoannonse
Annonse

Kall validate()-metoden på vinduet etter du har lagt til noe for å oppdatere det. :)

 

Eksempel:

import javax.swing.*;

public class Vindu extends JFrame {
  public Vindu() {
      super("Testvindu");
      setSize(300, 300);
      setVisible(true);
      setDefaultCloseOperation(3);
  }

  public static void main(String[] args) {
      Vindu v = new Vindu();

      // Vi venter litt så vinduet får roet seg ned
      try { Thread.sleep(1000); }
      catch (InterruptedException ie) { }

      // Her er vinduet helt blankt
      v.add(new JLabel("Hallo!"));
      // Her er vinduet fortsatt helt blankt
      v.validate();
      // Nå vises JLabelet
  }
}

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...