QUIERO MANTENER EL COLOR VERDE DEL BOTON ON CUANDO CAMBIO DE JFRAME Y LUEGO REGRESO A EL.

BUENAS NOCHES;
QUIERO MANTENER EL COLOR VERDE DEL BOTON CUANDO CAMBIO DE JFRAME Y LUEGO REGRESO A EL..
EL CODIGO ES.
*******************************************************************************************************************************
JFRAME 1
*******************************************************************************************************************************

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

@SuppressWarnings("serial")
public class VENTANA1 extends JFrame {
    static int VARIABLE1 = 120;
    static int VARIABLE2;
    private JPanel contentPane;
    /**
     * Launch the application.
     */

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

    public VENTANA1() {
        setTitle("VENTANA1");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBackground(Color.LIGHT_GRAY);
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
        final JButton btnNewButton = new JButton("ON");
        btnNewButton.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent arg0) {
                    btnNewButton.setBackground(Color.GREEN);
                }
            });
        btnNewButton.setBackground(Color.GRAY);
        btnNewButton.setBounds(121, 122, 91, 23);
        contentPane.add(btnNewButton);
        JButton btnNewButton_1 = new JButton("NEXT");
        btnNewButton_1.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent arg0) {
                    VENTANA2 nuevaventana = new VENTANA2(); // PARA ABRIR LA NUEVA
                    // VENTANA
                    nuevaventana.setVisible(true); // PARA ABRIR LA NUEVA VENTANA
                    VENTANA1.this.dispose(); // PARA QUITAR LA VENTANA MENU
                }
            });
        btnNewButton_1.setBackground(Color.GRAY);
        btnNewButton_1.setBounds(341, 239, 91, 23);
        contentPane.add(btnNewButton_1);
        JButton btnNewButton_2 = new JButton("OFF");
        btnNewButton_2.setBackground(Color.GRAY);
        btnNewButton_2.setBounds(243, 122, 91, 23);
        contentPane.add(btnNewButton_2);
    }
}

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
JFRAME 2 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

@SuppressWarnings("serial")
public class VENTANA2 extends JFrame {
    private JPanel contentPane;
    /**
     * Launch the application.
     */

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

    public VENTANA2() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBackground(Color.LIGHT_GRAY);
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
        JButton btnNewButton_1 = new JButton("ATRAS");
        btnNewButton_1.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent arg0) {
                    VENTANA1 nuevaventana = new VENTANA1(); // PARA ABRIR LA NUEVA
                    // VENTANA
                    nuevaventana.setVisible(true); // PARA ABRIR LA NUEVA VENTANA
                    VENTANA2.this.dispose(); // PARA QUITAR LA VENTANA MENU
                }
            });
        btnNewButton_1.setBackground(Color.GRAY);
        btnNewButton_1.setBounds(341, 239, 91, 23);
        contentPane.add(btnNewButton_1);
    }
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de arterzatij

humm

@Override
public void mouseClicked(MouseEvent arg0) {
VENTANA1 nuevaventana = new VENTANA1(); //estas instanciando la ventana las n veces que invocas el boton por lo tanto pierdes el estado de la ventana
nuevaventana.setVisible(true); // PARA ABRIR LA NUEVA VENTANA
VENTANA2.this.dispose(); // PARA QUITAR LA VENTANA MENU
}

es mejor

@Override
public void mouseClicked(MouseEvent arg0) {

nuevaventana.setVisible(true); // PARA ABRIR LA NUEVA VENTANA
VENTANA2.this.dispose(); // PARA QUITAR LA VENTANA MENU
}

y

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VENTANA2 frame = new VENTANA2();
VENTANA1 nuevaventana = new VENTANA1(); // Instancias la nueva ventana1
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}

Usa code en tus posts

Usa code en tus posts