Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente bannato
    Registrato dal
    Jul 2007
    Messaggi
    66

    [java jse] piccolo problema cn i layout

    ciao a tutti...
    ho un piccolo probl con questi layout....
    dunque: il primo di di questi è: se io metto una JTextField dentro a una cella di un GridLayout, in pratica lui mi riempie tutta la cella (seguento la dimensione del frame). Ora io vorrei che verticalmente nn si dilatasse, ma orizzontalmente si: come dovrei fare?

    poi vorrei mettere al south di un borderlayout un JButton al centro, ma questo mi riempie (al solito) tutta l'area. c'è un modo che mi permette di sistemare sti oggettini meglio, oppure devo totalmente togliere i layout?

    ultima cosa: qual è il metodo x non far cambiare la size all'utente della jframe?

    ps.: ehehe, già, dimenticavo: a cosa serve il metodo setPreferredSize di ogni component?

    grazie della pasienza e grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java jse] piccolo problema cn i layout

    Originariamente inviato da FenixDown
    se io metto una JTextField dentro a una cella di un GridLayout, in pratica lui mi riempie tutta la cella (seguento la dimensione del frame). Ora io vorrei che verticalmente nn si dilatasse, ma orizzontalmente si: come dovrei fare?
    È lo stesso problema del BorderLayout (vedi risposta sotto). GridLayout non usa/rispetta il "preferred size" dei componenti e quindi fa occupare ai componenti tutto lo spazio che lui stabilisce in base al numero di righe/colonne.

    Originariamente inviato da FenixDown
    vorrei mettere al south di un borderlayout un JButton al centro, ma questo mi riempie (al solito) tutta l'area.
    No, BorderLayout fa "occupare" ai componenti tutto lo spazio nelle 5 aree. Per dirla in altri termini, BorderLayout non usa/rispetta il "preferred size" dei componenti.

    Se vuoi continuare ad usare un BorderLayout, allora in SOUTH metti un Panel che ha ad esempio un FlowLayout:
    codice:
    JPanel panel = new JPanel (new FlowLayout (FlowLayout.CENTER));
    panel.add (unPulsante);
    
    add (panel, BorderLayout.SOUTH);
    Altrimenti cambia layout.

    Originariamente inviato da FenixDown
    qual è il metodo x non far cambiare la size all'utente della jframe?
    setResizable(boolean resizable)
    Vedi documentazione javadoc.

    Originariamente inviato da FenixDown
    a cosa serve il metodo setPreferredSize di ogni component?
    A impostare la dimensione "preferita"

    A tal proposito, leggi: http://java.sun.com/docs/books/tutor.../problems.html
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente bannato
    Registrato dal
    Jul 2007
    Messaggi
    66

    Re: Re: [java jse] piccolo problema cn i layout

    Originariamente inviato da andbin
    È lo stesso problema del BorderLayout (vedi risposta sotto). GridLayout non usa/rispetta il "preferred size" dei componenti e quindi fa occupare ai componenti tutto lo spazio che lui stabilisce in base al numero di righe/colonne.

    No, BorderLayout fa "occupare" ai componenti tutto lo spazio nelle 5 aree. Per dirla in altri termini, BorderLayout non usa/rispetta il "preferred size" dei componenti.

    Se vuoi continuare ad usare un BorderLayout, allora in SOUTH metti un Panel che ha ad esempio un FlowLayout:
    codice:
    JPanel panel = new JPanel (new FlowLayout (FlowLayout.CENTER));
    panel.add (unPulsante);
    
    add (panel, BorderLayout.SOUTH);
    Altrimenti cambia layout.

    setResizable(boolean resizable)
    Vedi documentazione javadoc.

    A impostare la dimensione "preferita"

    A tal proposito, leggi: http://java.sun.com/docs/books/tutor.../problems.html
    ti ringrazio per i consigli..quali sono i layout che rispettano la preferredsize? flowlayout, poi?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: [java jse] piccolo problema cn i layout

    Originariamente inviato da FenixDown
    ti ringrazio per i consigli..quali sono i layout che rispettano la preferredsize? flowlayout, poi?
    BoxLayout e GridBagLayout sicuramente. Poi mi sembra anche GroupLayout e SpringLayout (che non ho mai usato).
    Comunque ogni layout ha le sue caratteristiche molto ben specifiche e particolari e in certi casi non conta solo il preferred size ma anche il minimum/maximum size.

    Vedi la pagina del tutorial della Sun che mostra una panoramica dei vari layout.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.