Path: csiph.com!aioe.org!.POSTED!not-for-mail From: "Dr.UgoGagliardelli" Newsgroups: it.comp.java Subject: Re: Widget espandibile Date: Thu, 14 Sep 2017 07:17:02 +0200 Organization: Aioe.org NNTP Server Lines: 32 Message-ID: References: NNTP-Posting-Host: amcvi095O2liITgp89uTjg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 X-Notice: Filtered by postfilter v. 0.8.2 Content-Language: it-IT Xref: csiph.com it.comp.java:9249 Il 13.09.2017 17.48, Oliviero ha scritto: >>> Devo inserire in una finestra un widget a forma di "+" (o qualcosa di >>> simile) che se cliccato fa apparire un numero >>> variabile di JTextField, come posso fare? >>> >> JButton piu = new JButton("+"), >> piu.addActionListener(new ActionListener() { >>    public void actionPerformed(ActionEvent event) { >>       aggiungiCampo(); >>    } >> }); >> finestra.add(piu); > > > Ho un JButton che quando cliccato fa apparire una finestra con un numero > variabile di JComponent, la finestra ha due > JButton "+" e "-" con cui si può aumentare o diminuire il numero di > JComponent, vorrei che una volta usciti dalla finestra > e si ri-clicca sul JButton ri-apparisse la finestra con il numero di > JComponent precedentemente stabilito, invece appare > sempre il numero di JComponent iniziale (quello quando ancora non è > stato mai cliccato il JButton "+"), come posso fare? Dipende. Se i JComponent registrati la volta precedente sono ancora disponibili nel ArrayList puoi aggiungerli alla finestra, altrimenti, invece di istanziare ogni volta la finestra, utilizza setVisible > > Per il numero variabile di JComponent ho utilizzato un > ArrayList (che dovrà essere memorizzato su un file), > è la soluzione corretta? Probablilmente si', dipende da cosa devi registrare su file. Se ad esempio i JComponent sono dei JTextField e ti interessa solo il contenuto, allora utilizzaerei un ArrayList coi soli testi salvati.