Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47

    creare jtextfield dinamici premendo un bottone

    ciao ragazzi sto creando una piccola applicazione in java e sto perdendo la testa su una procedura che si sta rivelando piuttosto complicata.
    ve lo riassumo in breve
    nel mio jpanel ho un bottone che vorrei mi generasse, quando lo premo, un oggetto di tipo jtextfield.
    il mio problema è creare dinamicamente un numero non predefinito di oggetti jtextfield
    ma non è finita qui...la cosa che mi sta facendo impazzire è che non riesco a capire come posso nominare dinamicamente i vari oggetti che vorrei ( ma non riesco ) creare.
    avete dritte?? grazie ciao
    Alex

  2. #2

    Re: creare jtextfield dinamici premendo un bottone

    Originariamente inviato da ioalex86
    il mio problema è creare dinamicamente un numero non predefinito di oggetti jtextfield
    ma non è finita qui...la cosa che mi sta facendo impazzire è che non riesco a capire come posso nominare dinamicamente i vari oggetti che vorrei ( ma non riesco ) creare.
    avete dritte?? grazie ciao
    Ad esempio, potresti salvare le varie istanze di JTextField in una lista. In questo modo puoi gestire il contenuto di ognuna.
    Quindi, ogni istanza è associata ad un indice.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    sarebbe un'idea, ma cosi non dovrei conoscere a priori quanti oggetti dovrò inserire?
    Alex

  4. #4
    Originariamente inviato da ioalex86
    sarebbe un'idea, ma cosi non dovrei conoscere a priori quanti oggetti dovrò inserire?
    No, in una lista puoi inserire n oggetti a run-time senza pre-definire tale n in fase di compilazione.
    Ad esempio, puoi usare una istanza concreta di java.util.List nella quale vai a salvare le varie JTextField (di cui a priopri non conosci la quantità) in modo da mantenere un'ottima tracciabilità delle stesse.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    si infatti ci sono arrivato dopo effettivamente. vi aggiorno. grazie cmq
    Alex

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    allora ho creato un vettore di tipo riga,composto così...

    codice:
     
    import java.awt.Rectangle;
    
    import javax.swing.JComboBox;
    import javax.swing.JTextField;
    
    public class Riga {
    	JTextField articolo;
    	JTextField quantita;
    	JTextField prezzo;
    	JComboBox iva;
    	JTextField totale;
    	
    	public Riga(int y) {
    		
    		articolo = new JTextField();
    		articolo.setBounds(new Rectangle(24, y, 283, 25));
    		articolo.setText("articolo");
    		
    		quantita = new JTextField();
    		quantita.setBounds(new Rectangle(321, y, 52, 25));
    		quantita.setText("0");
    		
    		prezzo = new JTextField();
    		prezzo.setBounds(new Rectangle(390, y, 55, 25));
    		prezzo.setText("0,00");
    		
    		iva = new JComboBox();
    		iva.setBounds(new Rectangle(459, 140, 64, 25));
    		iva.addItem("IVA");
    		
    		totale = new JTextField();
    		totale.setBounds(new Rectangle(543, y, 46, 25));
    		totale.setText("0");
    	}
    	
    }
    nel main vado a creare appunto un vettore di questo tipo...
    una volta premuto il bottore pero non riesco a visualizzare le diverse componenti sopradescritte.
    sicuramente sto saltando qualche passaggio che mi permetta di visualizzare la riga di oggetti sul pannello, sapete indicarmi qual è?

    vi posto il pezzettino di codice relativo al bottone

    codice:
    	private JButton getJButton() {
    		if (getJButton== null) {
    			getJButton= new JButton();
    			getJButton.setBounds(new Rectangle(413, 5, 161, 49));
    			getJButton.setText("genera");
    			getJButton.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					lista[numItem] = new Riga(y);
    					numItem++;
    					y += 40;
    				}
    			});
    		}
    		return jButton;
    	}
    Alex

  7. #7
    Originariamente inviato da ioalex86
    codice:
    	private JButton getJButton() {
    		if (getJButton== null) {
    			getJButton= new JButton();
    			getJButton.setBounds(new Rectangle(413, 5, 161, 49));
    			getJButton.setText("genera");
    			getJButton.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					lista[numItem] = new Riga(y);
    					numItem++;
    					y += 40;
    				}
    			});
    		}
    		return jButton;
    	}
    Devi aggiungere ogni istanza di Riga (tutti i componenti che incapsula) in un qualche JComponent che dunque andrà ad essere visualizzato in un JFrame parent.

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.