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

    [java] Aggiungere Jpanel al progetto principale

    Ciao,


    ho creato quindi un programma che ha il suo pannello.. dove si leggono dei dati da un database.. semplice.

    all'interno dello stesso package ho creato un altra classe che crea un diverso pannello con una maschera per l'inserimento di nuovi dati.

    Non so però come unire (e richiamare) questo nuovo "JPanelAggiungi" al progetto principale tramite l'ActionPerformed di un popupmenu.




  2. #2
    all'interno dello stesso package, ma nuova classe.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    In questo modo:
    codice:
    public class TuaClasse {
       private Container c;
    
       public TuaClasse() {
          ...
          c = getContentPane();
          ...
       }
    
       ...
       public void actionPerformed(ActionEvent ae) {
    
          // Se vuoi rimuovere il pannello vecchio... altrimenti ignora le 4 righe successive
          c.remove( pannelloVecchio );
          validate();
          repaint();   // facoltativo
          doLayout();   // facoltativo
    
          // Per aggiungere un nuovo pannello
          c.add( new NuovoPannello() );
          validate();
          repaint();   // facoltativo
          doLayout();   // facoltativo
       }
    }
    Ovviamente in questo modo non avrai accesso ai metodi del nuovo pannello. Se vuoi accedere ai suoi metodi da altre parti di codice della classe principale, dovrai prevedere un riferimento di istanza al nuovo pannello (come fatto nell'esempio per il Container).


    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

  4. #4
    scusami.. ma io sono nella situazione in cui premo sul menuitems del popup... ed eseguo l'actionperformed a lui associata.

    codice:
        private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // TODO add your handling code here:
            aggiungi_debug(jTextPane1,"Hai cliccato AGGIUNGI.","Verdana",Color.BLACK,Color.YELLOW,10,false);  
            aggiungi_debug(jTextPane1,String.valueOf(evt),"Verdana",Color.BLACK,Color.YELLOW,10,false); 
          JPanelAggiungi pannello = new JPanelAggiungi();
          pannello.validate();
          pannello.repaint();
          pannello.doLayout();
        }

    la funzione aggiungi_debug(...); mi serve per scrivere su un JTextPane tutto quello che succede..

    JPanelAggiungi è la classe nello stesso package del programma che mi costruisce la finestra con le maschere per l'inserimento dei dati.

    codice:
    public class JPanelAggiungi extends javax.swing.JPanel {
        
    
        public JPanelAggiungi() {
            initComponents();
            getRootPane().setDefaultButton(closeButton);
        }
        
                          
        private void initComponents() {....}
     
        
        private javax.swing.JButton closeButton;
    
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JComboBox jComboBox1;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JLabel jLabel5;
        private javax.swing.JLabel jLabel6;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JScrollPane jScrollPane2;
        private javax.swing.JScrollPane jScrollPane3;
        private javax.swing.JScrollPane jScrollPane4;
        private javax.swing.JScrollPane jScrollPane5;
        private javax.swing.JTextArea jTextArea1;
        private javax.swing.JTextArea jTextArea2;
        private javax.swing.JTextPane jTextPane1;
        private javax.swing.JTextPane jTextPane2;
        private javax.swing.JTextPane jTextPane3;
    
        
    }

  5. #5
    sbaglio JPanel per JFrame...

    a me serve un intera nuova finestra che dovrà comparire per permettermi l'inserimento dei dai.

  6. #6
    Aggiungi aggiungi = new Aggiungi();
    aggiungi.validate();
    aggiungi.repaint();
    aggiungi.doLayout();



    nn mi combina niente...

  7. #7
    ok, sistemato.

    sulla chiamata alla classe aggiungi


    ho corretto in:

    Aggiungi aggiungi = new Aggiungi();
    aggiungi.setVisible(true);


    piccolo difetto.. quando chiudo con la "x" il nuovo frame aperto... si chiude anche il principale...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.