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

    [SWING] Un layout dentro un altro

    Salve a tutti, non riesco a inserire un JPane settato con GridBagLayout dentro un altro settato allo stesso modo!!!


    codice:
            // bottone di aggiunta
            JButton add = new JButton(" Add ");
            // pan
            areaBox = new JPanel( new GridBagLayout() );
            areaBox.setVisible(true);
            // GridBagLayout
            final GridBagConstraints gc = new GridBagConstraints();
            gc.gridx = 0;
            gc.gridy = 0;
            gc.anchor = GridBagConstraints.WEST;
            panel = new JPanel( new GridBagLayout() );
            
            gc.gridx = 0;
            gc.gridy = 0;
            gc.fill = GridBagConstraints.NONE;
            panel.add(add, gc);
            
            gc.gridx = 0;
            gc.gridy = 1;
            gc.fill = GridBagConstraints.NONE;
            panel.add(areaBox, gc);
            
            add.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent addEvent){
                    try{
                        // aggiunta dell'ultimo job
                        panel.add( nuovoPanSettatoConGridBagLayout, gc);    // <------ Aggiunta panel settato con GridBagLayout
                        areaBox.repaint();
                        
                        getContentPane().revalidate();
                        getContentPane().repaint();
                        pack();    // <------ errore ???
                    }
                    catch ( Exception err ){
                        err.printStackTrace();
                    } 
                }
            }); 
            
            pack();

    Ho questo errore
    codice:
    java.lang.IllegalArgumentException: illegal anchor value
        at java.awt.GridBagLayout.AdjustForGravity(GridBagLayout.java:1763)
            ....

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da iJim Visualizza il messaggio
    codice:
    java.lang.IllegalArgumentException: illegal anchor value
    Il messaggio è chiaro: il valore di anchor nel GridBagConstraints è inappropriato. Quanto vale? (metti un print o debugga)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie della risposta!
    In realtà io vorrei realizzare una cosa del genere!!





    e inserire dentro il taget una serie di JPanel in verticale.
    Sicuramente devo usare un JScrollPane, ma non riesco a impostere un layout del genere


    Spero che lo schema si veda bene

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da iJim Visualizza il messaggio
    e inserire dentro il taget una serie di JPanel in verticale.
    Allora nell'area che hai indicato con "Target" puoi mettere un JScrollPane che contiene 1 JPanel che ha un BoxLayout verticale che contiene N componenti disposti appunto in colonna.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Grazie per la risposta!

Tag per questa discussione

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.