Salve ho 2 Jframe (Apri e Chiudi) vorrei da 1 cliccando sul pulsante chiudere 1 e aprire 2 scrivere nel jtextfield cliccare sul pulsante e settare la label nella 1 e chiudere la 2 .
Ho un problema su quest'ultimo passaggio .....
Ecco le classi :
1
codice:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class Uno extends JFrame {

	private JPanel contentPane;
	private static Uno frame;
	public JLabel Scritta1;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					frame = new Uno();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Uno() {
		setTitle("Finestra1");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		Scritta1 = new JLabel("New label");
		Scritta1.setBounds(177, 85, 70, 15);
		contentPane.add(Scritta1);
		
		
		
		JButton btnVaiAllaFinestra = new JButton("Vai alla finestra2");
		btnVaiAllaFinestra.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				Due c=new Due();
				c.setVisible(true);
				frame.dispose();				
			}
		});
		btnVaiAllaFinestra.setBounds(130, 159, 196, 25);
		contentPane.add(btnVaiAllaFinestra);
	}
	
	/*public void setScritta1(String s){
		Scritta1.setText(s);		
	} */
}
2
codice:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class Due extends JFrame {

	private JPanel contentPane;
	private JTextField testo;
	private Due c ;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Due frame = new Due();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Due() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		testo = new JTextField();
		testo.setBounds(89, 87, 241, 19);
		contentPane.add(testo);
		testo.setColumns(10);
		
		JButton btnNewButton = new JButton("Cambia  la label finestra1");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String s=testo.getText();
				Uno a=new Uno();
				c.dispose();
				a.setVisible(true);
				a.Scritta1.setText(s);
			}
		});
		btnNewButton.setBounds(89, 173, 241, 25);
		contentPane.add(btnNewButton);
	}
}
Se commento c.dispose funziona la prima parte....