Avatar billede baitianlong Nybegynder
13. februar 2004 - 22:43 Der er 12 kommentarer og
1 løsning

størrelse på vindue

Jeg synes ikke rigtig at det er til at få JFrames eller elementer heri i den ønskede størrelse

setSize(new Dimension(400, 500));

Det er den ligeglad med

navneliste.setMinimumSize(new Dimension(300, 200));

Det er den også ligeglad med

hvad så ?? (o;
Avatar billede _carsten Nybegynder
13. februar 2004 - 22:46 #1
Det er rigtigt som du gør

Smid den ind i din constructor
Avatar billede _carsten Nybegynder
13. februar 2004 - 22:50 #2
Lidt kode til at illustrere det.


public class Exp extends javax.swing.JFrame {

    public Exp() {
        initComponents();
        setSize(300,300);
    }

    private void initComponents() {

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

    }
   
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
   
    public static void main(String args[]) {
        new Exp().show();
    }
}
Avatar billede nido2003 Nybegynder
13. februar 2004 - 22:51 #3
Hvis det er selve frame'n er det rigtigt, er det elementer kommer det an på layout manageren og om de er placeret på et panel.

Hvis du lægger elementer ind på selve framen så prøv at tilføje et panel først og læg så elementer på panelet.
Avatar billede baitianlong Nybegynder
13. februar 2004 - 22:55 #4
ok, det hjalp at flytte setSize op i constructoren fra initGUI metoden, men navneliste, som er en JList, er stadig lillebitte, uanset hvad ?!?
Avatar billede _carsten Nybegynder
13. februar 2004 - 22:58 #5
> nido2003

Om elementerne lægges i en frame eller et panel er fløjtende ligegyldigt, her det layoutmanageren der tæller
Avatar billede baitianlong Nybegynder
13. februar 2004 - 23:00 #6
Nu har jeg prøvet med:


        getContentPane().setLayout(new BorderLayout());
        setTitle("Database over navne");
       
        hentknap.setText("Hent Data");
        jLabel1.setText("Navne");
        panel.setLayout(new BorderLayout());
       
        getContentPane().add(panel, BorderLayout.CENTER);
        panel.add(jLabel1, BorderLayout.NORTH);
        panel.add(hentknap, BorderLayout.WEST);
        panel.add(navneliste, BorderLayout.CENTER);
        navneliste.setMinimumSize(new Dimension(300, 200));

i min initGUI()

men det ændrer intet... JListen er kun ca. 1 cm på begge leder
Avatar billede baitianlong Nybegynder
13. februar 2004 - 23:01 #7
hvordan får jeg noget størrelse på den JList ?!
Avatar billede _carsten Nybegynder
13. februar 2004 - 23:02 #8
Du kan bruge minJList.setPreferredSize(new java.awt.Dimension(100, 10));

Hvilken layoutmanageren bruger du iøvrigt ?
Avatar billede _carsten Nybegynder
13. februar 2004 - 23:06 #9
Er dette det eneste panel som addea til din frame
    getContentPane().add(panel, BorderLayout.CENTER);    ?
Avatar billede baitianlong Nybegynder
13. februar 2004 - 23:10 #10
Jeg har BorderLayout på det hele, men det kunne også være andre. Jeg vil bare have Jlisten til at være større... og JA, panel er det eneste panel.

Her er min Constructor og "hele" min initGUI()...

public class DatabaseFrame extends JFrame {
   
    public DatabaseFrame() {
        initGUI();
        pack();
        show();
        setSize(new Dimension(400, 500));
    }
    private void initGUI() {
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                System.exit(0);
            }
        });
        getContentPane().setLayout(new BorderLayout());
        setTitle("Database over navne");
       
        hentknap.setText("Hent Data");
        jLabel1.setText("Navne");
        panel.setLayout(new BorderLayout());
       
        getContentPane().add(panel, BorderLayout.CENTER);
        panel.add(jLabel1, BorderLayout.NORTH);
        panel.add(hentknap, BorderLayout.WEST);
        panel.add(navneliste, BorderLayout.CENTER);
        navneliste.setMinimumSize(new Dimension(300, 200));
       
       
        hentknap.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try{
                    hentknapActionPerformed(e);
                } catch (Exception ex) {
                    System.out.println("Det gik galt" + ex);
                }
            }
        });
    }
Avatar billede _carsten Nybegynder
13. februar 2004 - 23:20 #11
Prøv lige at sætte nedenstående ind i din kode

navneliste.setBackground(Color.blue);
navneliste.setPreferredSize(new Dimension(300, 200));

Din JList er der og har den rigtige størrelse, du kan bare ikke se
den, da der sandsynligvis ikke er nogen data i den
Avatar billede _carsten Nybegynder
13. februar 2004 - 23:27 #12
Har lige testet din kode med navneliste.setPreferredSize(new Dimension(300, 200));

Det virker
Avatar billede baitianlong Nybegynder
13. februar 2004 - 23:40 #13
Jeps... Det er ikke noget med farven, den var hvid før - det har heller intet med panelet at gøre... Det er setPreferredSize() der er en vinder.

Tak for hjælpen (o;
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