Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Aiuto con GirdBagLayout

    mi sto un po cimentando nel GridBagLayout.
    nel jpanel ho due colonne:
    label textfiel
    label combo
    label combo
    label texfield
    label textarea
    button

    ho posizionato tutti gli elementi come volevo io ma ho un problema con button.
    in pratica se nn metto nessun Insets->bottom lo trovo alla fine del jpanel.
    potrei mettere un insets bottom ma nn tutti gli schermi sono uguali.
    come posso fare per dirgi di posizionarsi sotto all'altezza della fine della text area?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    eh? senza codice e senza uno screen di quello che vorresti viene un po complicato capire quale è il problema
    RTFM Read That F*** Manual!!!

  3. #3
    si hai ragione.
    il codice però è parecchio lungo.

    il problema è su jbutton Add book.
    Immagini allegate Immagini allegate

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il problema è che il bottone è in basso, ma senza vedere codice è dura.
    Posta almeno il punto in cui aggiungi la textarea e il button
    RTFM Read That F*** Manual!!!

  5. #5
    ti posto questa parte qua.
    dovrebbe bastare:
    codice:
    jLabel9.setText("Note");
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 0;
            gridBagConstraints.gridy = 5;
            gridBagConstraints.gridwidth = 3;
            gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
            gridBagConstraints.insets = new java.awt.Insets(14, 12, 0, 0);
            add(jLabel9, gridBagConstraints);
    
            jScrollPane2.setPreferredSize(new java.awt.Dimension(300, 100));
    
            areaNote.setColumns(20);
            areaNote.setRows(5);
            areaNote.setPreferredSize(new java.awt.Dimension(100, 30));
            jScrollPane2.setViewportView(areaNote);
    
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 4;
            gridBagConstraints.gridy = 5;
            gridBagConstraints.gridwidth = 8;
            gridBagConstraints.gridheight = 2;
            gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
            gridBagConstraints.weightx = 1.0;
            gridBagConstraints.weighty = 1.0;
            gridBagConstraints.insets = new java.awt.Insets(14, 12, 0, 0);
            add(jScrollPane2, gridBagConstraints);
    
            btnAddBook.setText("Add Book");
            btnAddBook.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btnAddBookActionPerformed(evt);
                }
            });
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 0;
            gridBagConstraints.gridy = 7;
            gridBagConstraints.gridwidth = 3;
            gridBagConstraints.gridheight = 2;
            gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
            gridBagConstraints.insets = new java.awt.Insets(14, 12, 0, 0);
            add(btnAddBook, gridBagConstraints);
    
            textIsbn.setPreferredSize(new java.awt.Dimension(200, 15));
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 4;
            gridBagConstraints.gridy = 4;
            gridBagConstraints.gridwidth = 3;
            gridBagConstraints.gridheight = 2;
            gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
            gridBagConstraints.insets = new java.awt.Insets(14, 12, 0, 0);
            add(textIsbn, gridBagConstraints);

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    allora ci sono diverse cose di cui bisogna tenere conto.
    Innanzitutto con queste 2 istruzioni

    codice:
    gridBagConstraints.weightx = 1.0;
            gridBagConstraints.weighty = 1.0;
    stai dicendo che tutto lo spazio in eccesso è della textarea (come è giusto che sia).
    Per gli altri questo non c'è.
    Poi mi chiedo, come è strutturato il resto? Cioè questo che ha il gridbaglayout è dentro un pannello/frame con che layout?
    Qui si ritrova spazio in eccesso che assegna tutto alla locazione della textarea, ma questa (per le sue impostazioni) non cresce creando questo brutto effetto.
    La textarea che impostazioni ha riguardo il ridimensionamento?
    RTFM Read That F*** Manual!!!

  7. #7
    c'èè un JFrame.
    dentro c'è un JPanel che occupa tutto lo spazio.
    questo JPanel ha un BorderLayout e dentro ce ne stanno due:
    -uno a sinistra in WEST che ha dimensione fissa
    -l'altro in CENTER che occupa tutto il resto dello spazio

    dentro questo di CENTER ho impostato il GridBagLayout con quello che vedi sopra.

    per la textarea ho impostato una dimensione fissa con setPreferredSize.
    o intendevi altro?

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    devi rivedere lauyout manager, dimensioni e regole di resizing per ogni componente, al 90% lo spazio in eccesso è preso dalla text area (o meglio dal suo scrollpane) e questo sposta il bottone
    RTFM Read That F*** Manual!!!

  9. #9
    Originariamente inviato da valia
    devi rivedere lauyout manager, dimensioni e regole di resizing per ogni componente, al 90% lo spazio in eccesso è preso dalla text area (o meglio dal suo scrollpane) e questo sposta il bottone
    capito.
    allora mi metto a fare un pò di prove su quel parametro.
    graize!!

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.