Tu código tocando dos cosas
Código Javascript
:
Ver originalpublic class Proceso {
public static void main(String[] args) {
Pantalla frame1 = new Pantalla("1");
Pantalla frame2 = new Pantalla("2");
frame1.setAlternativa(frame2);
frame2.setAlternativa(frame1);
frame1.setVisible(true);
}
}
Y solo una clase pantalla
Código Javascript
:
Ver originalimport java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Pantalla extends JFrame implements ActionListener {
private JPanel contentPane;
int contador = 0;
private Pantalla alternativa;
private String nombre;
public void setAlternativa (Pantalla alternativa){
this.alternativa = alternativa;
}
public Pantalla(String nombre) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.nombre = nombre;
contentPane = new JPanel();
contentPane.setLayout(null);
setBounds(10,10,640,480);
setContentPane(contentPane);
JButton botonSalir = new JButton("SALIR");
botonSalir.setBounds(500,300,100,50);
botonSalir.setActionCommand("salir");
botonSalir.addActionListener(this);
contentPane.add(botonSalir);
JButton botonIncrementar = new JButton("SUMAR");
botonIncrementar.setBounds(50,100,100,50);
botonIncrementar.setActionCommand("incr1");
botonIncrementar.addActionListener(this);
contentPane.add(botonIncrementar);
JButton botonCambia1 = new JButton("CAMBIA");
botonCambia1.setBounds(50,300,100,50);
botonCambia1.setActionCommand("cambia");
botonCambia1.addActionListener(this);
contentPane.add(botonCambia1);
}
public void incrementa1() {
++contador;}
public void activaVentana2() {
alternativa.setVisible(true);
this.setVisible(false);}
@Override
public void actionPerformed(ActionEvent arg1) {
if (arg1.getActionCommand().equals("salir")) {
System.exit(0);}
else if (arg1.getActionCommand().equals("incr1")) {
incrementa1();
System.out.println("El Contador " + nombre + " acumula: "+contador);}
else if (arg1.getActionCommand().equals("cambia")) {
activaVentana2();
}
}
}