Ciao a tutti. Volevo chiedervi come faccio a risolvere un problema.
Ho un frame con un JButton che mi apre un frame per inserire dei dati in alcune JText. Il testo inserito nelle JText lo vorrei inserire in un'altro frame con delle JLabel che visualizzano quello che ho inserito nel JText dell'altro frame. Per comodità vi posto il codice:
codice:import javax.swing.*; import java.awt.*; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.util.*; import java.lang.*; public class Rubrica extends JFrame implements ActionListener { JButton VisualizzaContatto=new JButton("Visualizza Contatto"); JButton AggiungiContatto=new JButton("Aggiungi Contatto"); JButton ModificaContatto=new JButton("Modifica Contatto"); JButton RimuoviContatto=new JButton("Rimuovi Contatto"); JButton LeggidaFile=new JButton("Leggi da File"); public Rubrica(){ super("Rubrica"); GridLayout p=new GridLayout(4,0); JPanel p1=new JPanel(); p1.setLayout(p); add(p1); //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); p1.add(VisualizzaContatto); p1.add(AggiungiContatto); p1.add(ModificaContatto); p1.add(RimuoviContatto); p1.add(LeggidaFile); setSize(400,200); //pack(); show(); AggiungiContatto.addActionListener(this); ModificaContatto.addActionListener(this); RimuoviContatto.addActionListener(this); LeggidaFile.addActionListener(this); VisualizzaContatto.addActionListener(this); } public void actionPerformed(ActionEvent e){ if (e.getSource()==VisualizzaContatto){ new FinestraVisualizzaContatto(); } else if(e.getSource()==AggiungiContatto) { new FinestraAggiungiContatto(); } else if (e.getSource()==ModificaContatto) { new FinestraModificaContatto(); }else if(e.getSource()==RimuoviContatto) { new FinestraRimuoviContatto(); }else if(e.getSource()==LeggidaFile){ try { Runtime.getRuntime().exec("notepad Rubrica.txt"); }catch (Exception f) { System.out.println ("Errore exec:" + f); } } } public static void main(String[] args){ new Rubrica(); } public class FinestraVisualizzaContatto extends JFrame { private FinestraAggiungiContatto a; public FinestraVisualizzaContatto(){ JLabel nome1=new JLabel("Nome: "); JLabel nomea=new JLabel(a.nomeb.getText()); //JLabel nomea=new JLabel(); JLabel cognome1=new JLabel("Cognome: "); JLabel cognomea=new JLabel(); JLabel tel1=new JLabel("Telefono: "); JLabel tela=new JLabel(); JLabel email1=new JLabel("E-mail: "); JLabel emaila=new JLabel(); GridLayout p=new GridLayout(4,2); JPanel p1=new JPanel(); p1.setLayout(p); add(p1); p1.add(nome1); p1.add(nomea); p1.add(cognome1); p1.add(cognomea); p1.add(tel1); p1.add(tela); p1.add(email1); p1.add(emaila); //pack(); setSize(300,300); show(); } public void visualizza(){ try { FileReader f; f=new FileReader("Rubrica.txt"); BufferedReader b; b=new BufferedReader(f); String s; s=b.readLine(); System.out.println(s); } catch (IOException e) { System.out.println("Errore: " + e); System.exit(1); } } //String nomi=a.nomeb.getText(); // nomea=a.nomeb.getText(); } public class FinestraAggiungiContatto extends JFrame implements ActionListener { JLabel nome2=new JLabel("Nome: "); JLabel cognome2=new JLabel("Cognome: "); JLabel tel2=new JLabel("Telefono: "); JLabel email2=new JLabel( "E-mail: "); JTextField nomeb=new JTextField(); JTextField cognomeb=new JTextField(); JTextField telb=new JTextField(); JTextField emailb=new JTextField(); String nome=nomeb.getText(); JButton salva=new JButton("Salva"); public FinestraAggiungiContatto(){ GridLayout p2=new GridLayout(5,2); JPanel p3=new JPanel(); p3.setLayout(p2); add(p3); p3.add(nome2); p3.add(nomeb); p3.add(cognome2); p3.add(cognomeb); p3.add(tel2); p3.add(telb); p3.add(email2); p3.add(emailb); p3.add(salva); salva.addActionListener(this); //pack(); setSize(300,300); show(); } public void Aggiungi(){ ArrayList<String> lista = new ArrayList<String>(); String nome=nomeb.getText(); String cognome=cognomeb.getText(); String tel=telb.getText(); String email=emailb.getText(); lista.add(nome); lista.add(cognome); lista.add(tel); lista.add(email); for (int i=0;i<lista.size();i++){ try { FileOutputStream prova = new FileOutputStream("Rubrica.txt"); PrintStream scrivi = new PrintStream(prova); scrivi.printf("%s\n",lista); System.out.printf("%s\n",lista.get(i)); } catch (IOException e) { System.out.println("Errore: " + e); System.exit(1); } } } public void actionPerformed(ActionEvent e){ if (e.getSource()==salva){ Aggiungi(); } } } public class FinestraModificaContatto extends JFrame { JLabel nome3=new JLabel("Nome: "); JLabel cognome3=new JLabel("Cognome: "); JLabel tel3=new JLabel("Telefono: "); JLabel email3=new JLabel( "E-mail: "); JTextField nomec=new JTextField(); JTextField cognomec=new JTextField(); JTextField telc=new JTextField(); JTextField emailc=new JTextField(); public FinestraModificaContatto(){ GridLayout p3=new GridLayout(4,2); JPanel p4=new JPanel(); p4.setLayout(p3); add(p4); p4.add(nome3); p4.add(nomec); p4.add(cognome3); p4.add(cognomec); p4.add(tel3); p4.add(telc); p4.add(email3); p4.add(emailc); //pack(); setSize(300,300); show(); } } public class FinestraRimuoviContatto extends JFrame { JLabel nome4=new JLabel("Nome: "); JLabel cognome4=new JLabel("Cognome: "); JLabel tel4=new JLabel("Telefono: "); JLabel email4=new JLabel( "E-mail: "); JTextField nomed=new JTextField(); JTextField cognomed=new JTextField(); JTextField teld=new JTextField(); JTextField emaild=new JTextField(); public FinestraRimuoviContatto(){ GridLayout p3=new GridLayout(4,2); JPanel p4=new JPanel(); p4.setLayout(p3); add(p4); p4.add(nome4); p4.add(nomed); p4.add(cognome4); p4.add(cognomed); p4.add(tel4); p4.add(teld); p4.add(email4); p4.add(emaild); //pack(); setSize(300,300); show(); } } /*try { FileOutputStream prova = new FileOutputStream("Rubrica.txt"); PrintStream scrivi = new PrintStream(prova); InputStreamReader is = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is); String lettura=br.readLine(); scrivi.println(lettura); } catch (IOException e) { System.out.println("Errore: " + e); System.exit(1); } public LeggidaFile(){ }*/ }