Avatar billede sorensen_dk Nybegynder
23. november 2004 - 22:15 Der er 5 kommentarer og
1 løsning

problemer med JComboBox og JTextField

hej allesammen, jeg har et lille GUI problem.
Min JComboBox har tilsyneladende lyst til at "droppe" ned bag mit JTextField.
Men kun på pc, den gør det ikke på mac. Begge har den nyeste java runtime som er tilgængelig.

koden ser således ud:

        /////////// s?geomr?de
        list = new JList(liste);
        list.addMouseListener(lytogkontrol);
        JScrollPane scrollList = new JScrollPane(list);
        JPanel sogepanel = new JPanel(new BorderLayout());
       
              // opretter objekter til toppen af sogepanelet

        JPanel sogetoppanel = new JPanel(new BorderLayout());

        JPanel kriteriepanel = new JPanel(new BorderLayout());
        kriterie = new JComboBox();

        kriterie.addItem(new String("Navn"));
        kriterie.addItem(new String("Stambogs nr"));

        kriteriepanel.add(kriterie, BorderLayout.CENTER);

        sogetoppanel.add(kriteriepanel, BorderLayout.NORTH);

        soegeTekst = new TextField(20);

        sogetoppanel.add(soegeTekst, BorderLayout.WEST);
        knap = new JButton("s¯g");
        knap.addActionListener(lytogkontrol);
        sogetoppanel.add(knap, BorderLayout.EAST);

        sogepanel.add(sogetoppanel, BorderLayout.NORTH);

        JPanel sogecenterpanel = new JPanel(new BorderLayout());
        sogecenterpanel.add(scrollList, BorderLayout.CENTER);

        knap = new JButton("Rediger Valgt Profil");
        knap.addActionListener(lytogkontrol);
        sogecenterpanel.add(knap, BorderLayout.SOUTH);

        sogepanel.add(sogecenterpanel, BorderLayout.CENTER);

jeg har en formodning om at problemet kan skyldes de mange paneler, men jeg vil gerne bibeholde disse for at sikre scalability. Men hvis den eneste løsning er at genskrive hele panelet med et andet layout må jeg jo gøre det :)

men .. er der en mulighed for at sørge for at min JComboBox kriterie ligger forrest i layoutet?
jeg har prøvet at bytte lidt rundt på panelerne, men det gør ikke den store forskel.

hvad kan jeg gøre? hvis i ikke får fejlen med at comboboksen ikke ligger sig bagved tekstfeltet når man trykkker på den, vil jeg meget gerne høre om det, da nogle har foreslået at det er et problem med java runtime til windows da java til OS X ikke får fejlen.

jeg håber i kan hjælpe mig
Avatar billede sorensen_dk Nybegynder
23. november 2004 - 22:18 #1
hvis ikkke det kodeudsnit viser fejlen kan jeg godt smide hele koden, men det kan siges at det panel(sogepanel) ovenfor ligger WEST i et borderlayout som er spændt ud over en JFrame. EAST og NORTH er fyldt ud men dette burde ikke påvirke indholdet i WEST.
Avatar billede kalp Novice
23. november 2004 - 23:02 #2
Hvis du ligger en Contentpane eller hvad den hedder og ligger dit tekstfelt på den... ligger en anden contentpane på din første og ligger en menu på den.. ville det så ikke virke?
Avatar billede sorensen_dk Nybegynder
23. november 2004 - 23:43 #3
hvad mener du? hele panelet(sogepanel) bliver puttet ind på den overordnede "ContentPane" i den JFrame det ligger i, udsnittet er kun det JPanel som ligger i WEST på getContentPane().

når jeg så putter Components ind i et JPanel ligger det vel på det respektive panels contentpane?
Avatar billede kalp Novice
24. november 2004 - 00:07 #4
kan du tage et screenshot af situationen?
Avatar billede _carsten Nybegynder
24. november 2004 - 07:57 #5
Nu skriver du godt nok, at du har et JTextField, men det er altså et TextField (AWT)
soegeTekst = new TextField(20);

Du kan sagtens mixe AWT og Swing i en gui, når bare man ved hvornår og hvordan det gøres, da AWT er heavyweight komponenter vil de altid ligge øverst og overskygge en hvilken som helst Swing komponent.

Ret til:  soegeTekst = new JTextField(20);

Så ruller det !
Avatar billede sorensen_dk Nybegynder
24. november 2004 - 08:31 #6
doh! nu virker det, jeg troede det var et JTextField... sådan går det når man stirrer sig blind på koden.

Ta kfor hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester