Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446

    [JAVA]Aiuto su GUI e BorderLayout

    Ragazzi ho provato da me ma non ci sono riuscito, ho creato un JFrame con BorderLayout aggiungendo due pannelli uno a north ed uno a center, vorrei che premendo dei pulsanti situati in north venga rimosso un jpanel da center e ne venga aggiunto un altro. Ho provato con remove(componente); ma nulla...altri consigli?

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

    Re: [JAVA]Aiuto su GUI e BorderLayout

    Originariamente inviato da energie
    altri consigli?
    validate() sul content-pane del JFrame.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    public void addDownloadsWindow(){
    System.out.print("downloadwindows");
    c.remove(mysett);
    c.validate();

    }

    c è il Container, sto utilizzando correttamente validate?(il print funziona quindi il pulsante esegue l'azione correttamente), mentre mysett è un jpanel

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Prova a forzare anche un doLayout() e un repaint()... a volte il risultato non viene renderizzato immediatamente.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    public void addDownloadsWindow(){
    System.out.print("downloadwindows");
    c.remove(mysett);
    c.validate();
    c.repaint();
    c.doLayout();

    }

    niente x(,provato anche solo con doLayout() e repaint() senza c ....nulla

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Prova a postare tutto il codice della finestra... mi sa che c'è qualcosa che non va...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    QUESTO è IL JFRAME:



    Codice PHP:
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.Dimension;
    import javax.swing.table.TableColumn;
    import java.util.*;



    /**
     *
     * @author  energie
     */


    public class MainUI extends JFrame 
    {
       
         
          
    Container c getContentPane();
           
    Settings mysett= new Settings();
           
    Downloads mydown= new Downloads();
           
    ControlsUI mycontrols= new ControlsUI();
           
    Queue myqueue= new Queue();
           
    Search mysearch= new Search();
                    
               
                public 
    void addDownloadsWindow(){
        
    System.out.print("downloadwindows");
           
    c.remove(mysett);
         
    c.validate();
         
    c.repaint();
         
    c.doLayout();
        
    }


        
    /** Creates new form MainUI */
        
    public MainUI() {
            
    initComponents();
             
    c.setLayout(new BorderLayout());
              
                

                
    c.add(mycontrolsBorderLayout.NORTH);
                
    c.add(mysett,BorderLayout.CENTER);
           
        }
        
        
    /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
                              
        
    private void initComponents() {

            
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

            
    org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
            
    getContentPane().setLayout(layout);
            
    layout.setHorizontalGroup(
                
    layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .
    add(0400Short.MAX_VALUE)
            );
            
    layout.setVerticalGroup(
                
    layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .
    add(0300Short.MAX_VALUE)
            );

            
    pack();
        }
    // </editor-fold>                        
        
        /**
         * @param args the command line arguments
         */
        
    public static void main(String args[]) {
            
    java.awt.EventQueue.invokeLater(new Runnable() {
                public 
    void run() {
                    new 
    MainUI().setVisible(true);
                }
            });
        }
        
        
    // Variables declaration - do not modify                     
        // End of variables declaration                   

        

    QUESTO è IL JPANEL COI CONTROLLI:


    Codice PHP:
    import javax.swing.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    /**
     *
     * @author  ENERGIE
     */
    public class ControlsUI extends JPanel implements ActionListener {
        

        
    /** Creates new form ControlsUI */
        
    public ControlsUI() {
            
    initComponents();
        }
        
        
    /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        
    private void initComponents() {

            
    jButton1 = new javax.swing.JButton();
            
    jButton2 = new javax.swing.JButton();
            
    jButton3 = new javax.swing.JButton();
            
    jButton4 = new javax.swing.JButton();
            
    jButton5 = new javax.swing.JButton();

            

        
    //    comboMesi.setActionCommand("Combo");
        
          //    comboMesi.addActionListener(this);


            
    jButton1.setText("Connect");
            
    jButton1.setActionCommand("Connect");
            
    jButton1.addActionListener(this);

            
    jButton2.setText("Settings");
            
    jButton2.setActionCommand("Settings");

           

            
    jButton3.setText("Downloads");
            
    jButton3.setActionCommand("Downloads");
            
    jButton3.addActionListener(this);
            


            
    jButton4.setText("Queue");
            
    jButton4.setActionCommand("Queue");

            
    jButton5.setText("Search");
            
    jButton5.setActionCommand("Search");


            
    org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
            
    this.setLayout(layout);
            
    layout.setHorizontalGroup(
                
    layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .
    add(layout.createSequentialGroup()
                    .
    add(109109109)
                    .
    add(jButton1)
                    .
    add(181818)
                    .
    add(jButton2)
                    .
    add(181818)
                    .
    add(jButton3)
                    .
    add(181818)
                    .
    add(jButton4)
                    .
    add(181818)
                    .
    add(jButton5)
                    .
    addContainerGap(125Short.MAX_VALUE))
            );
            
    layout.setVerticalGroup(
                
    layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .
    add(layout.createSequentialGroup()
                    .
    add(303030)
                    .
    add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .
    add(jButton2)
                        .
    add(jButton3)
                        .
    add(jButton1)
                        .
    add(jButton4)
                        .
    add(jButton5))
                    .
    addContainerGap(38Short.MAX_VALUE))
            );
        }
    // </editor-fold>                        
    public void actionPerformed(ActionEvent e) {
        
        
        if (
    e.getActionCommand().equals("Connect")){
            
            
                

                    
    System.out.println("31");
             
            }
        
        
            else if(
    e.getActionCommand().equals("Downloads")){
            
                
    MainUI mymain= new MainUI();
            
            
    mymain.addDownloadsWindow();
            
            }
      }   
        private 
    void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            
    // TODO add your handling code here:
        
    }                                        

        private 
    void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            
    // TODO add your handling code here:
        
    }                                        
        
        
        
    // Variables declaration - do not modify                     
        
    private javax.swing.JButton jButton1;
        private 
    javax.swing.JButton jButton2;
        private 
    javax.swing.JButton jButton3;
        private 
    javax.swing.JButton jButton4;
        private 
    javax.swing.JButton jButton5;
        
    // End of variables declaration                   
        

    QUESTO è IL JPANEL DA AGGIUNGERE ALLA PRESSIONE DEL TASTO:


    Codice PHP:
    /**
     *
     * @author  ENERGIE
     */
    public class Downloads extends javax.swing.JPanel {
        
        
    /** Creates new form Downloads */
        
    public Downloads() {
            
    initComponents();
        }
        
        
    /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        
    private void initComponents() {

            
    jScrollPane1 = new javax.swing.JScrollPane();
            
    jTable1 = new javax.swing.JTable();
            
    jScrollPane2 = new javax.swing.JScrollPane();
            
    jTable2 = new javax.swing.JTable();
            
    jScrollPane3 = new javax.swing.JScrollPane();
            
    jTable3 = new javax.swing.JTable();
            
    jScrollPane4 = new javax.swing.JScrollPane();
            
    jTable4 = new javax.swing.JTable();

            
    jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new 
    Object [][] {
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull}
                },
                new 
    String [] {
                    
    "Users""Filename""Status""Time left""Speed""Size"
                
    }
            ));
            
    jScrollPane1.setViewportView(jTable1);

            
    jTable2.setModel(new javax.swing.table.DefaultTableModel(
                new 
    Object [][] {
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull}
                },
                new 
    String [] {
                    
    "Users""Filename""Status""Time left""Speed""Size"
                
    }
            ));
            
    jScrollPane2.setViewportView(jTable2);

            
    jTable3.setModel(new javax.swing.table.DefaultTableModel(
                new 
    Object [][] {
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull}
                },
                new 
    String [] {
                    
    "Users""Filename""Status""Time left""Speed""Size"
                
    }
            ));
            
    jScrollPane3.setViewportView(jTable3);

            
    jTable4.setModel(new javax.swing.table.DefaultTableModel(
                new 
    Object [][] {
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull},
                    {
    nullnullnullnullnullnull}
                },
                new 
    String [] {
                    
    "Users""Filename""Status""Time left""Speed""Size"
                
    }
            ));
            
    jScrollPane4.setViewportView(jTable4);

            
    org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
            
    this.setLayout(layout);
            
    layout.setHorizontalGroup(
                
    layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .
    add(layout.createSequentialGroup()
                    .
    addContainerGap()
                    .
    add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .
    add(org.jdesktop.layout.GroupLayout.TRAILINGjScrollPane1org.jdesktop.layout.GroupLayout.DEFAULT_SIZE775Short.MAX_VALUE)
                        .
    add(jScrollPane2org.jdesktop.layout.GroupLayout.DEFAULT_SIZE775Short.MAX_VALUE)
                        .
    add(org.jdesktop.layout.GroupLayout.TRAILINGjScrollPane3org.jdesktop.layout.GroupLayout.DEFAULT_SIZE775Short.MAX_VALUE)
                        .
    add(org.jdesktop.layout.GroupLayout.TRAILINGjScrollPane4org.jdesktop.layout.GroupLayout.DEFAULT_SIZE775Short.MAX_VALUE))
                    .
    addContainerGap())
            );
            
    layout.setVerticalGroup(
                
    layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .
    add(layout.createSequentialGroup()
                    .
    addContainerGap()
                    .
    add(jScrollPane1org.jdesktop.layout.GroupLayout.PREFERRED_SIZE499org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .
    addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .
    add(jScrollPane4org.jdesktop.layout.GroupLayout.PREFERRED_SIZE499org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .
    addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .
    add(jScrollPane3org.jdesktop.layout.GroupLayout.PREFERRED_SIZE499org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .
    addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .
    add(jScrollPane2org.jdesktop.layout.GroupLayout.PREFERRED_SIZE499org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .
    addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE))
            );
        }
    // </editor-fold>                        
        
        
        // Variables declaration - do not modify                     
        
    private javax.swing.JScrollPane jScrollPane1;
        private 
    javax.swing.JScrollPane jScrollPane2;
        private 
    javax.swing.JScrollPane jScrollPane3;
        private 
    javax.swing.JScrollPane jScrollPane4;
        private 
    javax.swing.JTable jTable1;
        private 
    javax.swing.JTable jTable2;
        private 
    javax.swing.JTable jTable3;
        private 
    javax.swing.JTable jTable4;
        
    // End of variables declaration                   
        


  8. #8
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    lo so molti oggetti grafici non sono usati e c'è del codice anch'esso non utilizzato, ma netbeans mi crea queste cose con dei lucchetti e non posso modificarli, appena supero il problema del jpanel apro un altro editor e cancello la parte di codice aggiunta da lui

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Cosa numero uno: l'inizializzazione dei componenti va sempre fatta all'interno del costruttore o all'interno di qualche metodo. Non è corretto (e mi stupisco che NetBeans te lo faccia eseguire senza errori) valorizzare "c" (il Container) al di fuori del costruttore: se l'oggetto non è ancora stato costruito, non puoi ottenere il riferimento al suo Container.

    Sposta nel costruttore l'inizializzazione di tale oggetto.

    Per il resto del codice non mi ci metto nemmeno a leggerlo: il codice autogenerato non è mai un buon codice.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    Ho creato Container c; e nel metodo MainUI l'ho inizializzato con:

    c = getContentPane();

    ma continua a non funzionare..altre idee lele?

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.