Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    ah no ok adesso funzia...dovevo usare il setPreferredSize al posto del maximumSize...

  2. #12
    altra domanda semplice...ho un panelCenter che è un JPanel...

    In questo panelCenter faccio queste due operazioni:

    panelCenter.add(scrollPane2, BorderLayout.CENTER);
    panelCenter.add(ButtonLogin, BorderLayout.NORTH);

    quindi, teoricamente, il ButtonLogin dovrebbe stare sopra il scrollPane...il risultato è l'esatto contrario...io voglio fare in modo che il bottone stai sopra questo scrollPane che contiene una tabella...

  3. #13
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da lizard88mc
    il risultato è l'esatto contrario...
    Sicuro che panelCenter abbia un BorderLayout??
    Nota che un JPanel per default ha un FlowLayout.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #14
    che caspita...pensavo che mettendogli add(..., BorderLayout.North) lui si mettesse automaticamente un borderLayout...sti layout maledetti...

    Un'altra cosa...mettendo caso che io volessi prendere quel scrollPane e centrarlo nello spazio a lui assegnato (è più piccolo rispetto a dove voglio metterlo) dovrei usare un BoxLayout????

  5. #15
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da lizard88mc
    che caspita...pensavo che mettendogli add(..., BorderLayout.North) lui si mettesse automaticamente un borderLayout...sti layout maledetti...
    No di certo.

    Il content pane di JFrame/JDialog/JWindow/JInternalFrame/JApplet ha per default un BorderLayout. JPanel fa eccezione e ha un FlowLayout.

    E se/quali "constraints" (vincoli) passare a add() dipende solo dal layout manager. Con FlowLayout non ci sono e non servono constraints, quindi non serve passare add(comp, qualcosa).

    Originariamente inviato da lizard88mc
    mettendo caso che io volessi prendere quel scrollPane e centrarlo nello spazio a lui assegnato (è più piccolo rispetto a dove voglio metterlo) dovrei usare un BoxLayout????
    Tecnicamente sarebbe possibile ma devi tenere conto di una cosa: BoxLayout rispetta anche il "maximum size" dei componenti. Il fatto è che JScrollPane ha per default un maximum size enorme.

    Fai:
    System.out.println(new JScrollPane().getMaximumSize());
    e te ne accorgi subito ...

    Quindi BoxLayout cercherebbe di far occupare più spazio possibile al JScrollPane ... e nel tuo caso buonanotte ....

    Se imponi un maximum size al JScrollPane, allora ok. Metti nel BoxLayout un "glue", poi il JScrollPane e poi un altro glue.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #16
    ottimo...sto iniziando a capire come caspita funzionano questi layout che hanno una certa perversione dentro secondo me...cmq si adesso effettivamente se al scrollPane gli imposto minimumsize e maximumsize la cosa funziona ottimamente...se invece gli mettevo solo il preferredsize mica mi ascoltava...

    T ringrazio per la pazienza...grazie mille...

  7. #17
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da lizard88mc
    questi layout che hanno una certa perversione dentro
    Io non ho mai trovato nulla di così "perverso".

    A livello base le cose sono abbastanza semplici: ogni componente ha 4 "dimensioni": minimum-size, preferred-size, maximum-size e (real) size.
    Le prime 3 sono informazioni per i layout manager. Un layout manager può usare una, alcune, tutte o nessuna di queste 3 dimensioni. A seconda del layout e della/e area/e del layout (es. in BorderLayout nella parte CENTER nessuna delle 3 viene considerata!).

    La dimensione "reale" (getSize/setSize) è quella effettiva che si vede a video. Se c'è un layout manager è lui che la imposta. Se non c'è, è il caso del posizionamento "assoluto" e si deve usare esplicitamente setBounds o setLocation+setSize per posizionare il componente.

    Tutto qui (almeno come base).
    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.