Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [java]aggiunta controllo runtime

    Ciao a tutti.
    Vorrei aggiungere un controllo ad un jframe quando premo un pulsante ecco un pezzo del codice:
    this.getContentPane().setLayout(null);
    setBounds(40, 40, 500, 375);
    JButton cboAggiungi = new JButton();
    this.getContentPane().add(cboAggiungi);
    cboAggiungi.addMouseListener(new MouseListener() {
    public void mouseClicked(MouseEvent e) {
    JButton jb=new JButton("prova");
    qui non riesco ad aggiungere
    il controllo
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }
    public void mousePressed(MouseEvent e) {
    }
    public void mouseReleased(MouseEvent e) {
    }
    });
    Qualcuno sa come si fa?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Stai sbagliando l'impostazione: all'interno del metodo actionPerformed() non sei all'interno della stessa classe, ma in una classe anonima interna. Prova a usare qualcosa del genere:
    codice:
    public class TuaClasse extends JFrame {
    
       public TuaClasse() {
          getContentPane().setLayout(null);
          ...
          cboAggiungi.addMouseListener( new MouseAdapter() {
             public void mouseClicked(MouseEvent me) {
                aggiungiControllo();
             }
          });
       }
    
       ...
    
       private void aggiungiControllo() {
          JButton jb = new JButton("prova");
          getContentPane().add(jb);
       }
    }
    Ti sconsiglio, comunque, di creare degli oggetti all'interno di metodi, quando questi sono dei controlli, che probabilmente andranno utilizzato anche altrove. Se si tratta di oggetti temporanei di supporto, allora non c'è problema, ma i controlli, solitamente, si dichiarano fuori dai metodi.


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    grazie Lele c'è sempre qualcosa da imparare da te.

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