ola gostaria que testassem esse exemplo para melhor entender minha duvida.
pois neste exemplo ao alterar a cor do botao com as RadioButton vc pode clickar no botao ok ou fechar a janela para voltar a janela principal…
porem gostaria de que se fechasse a janela de alteracao de cor, a cor do botao deveria voltar a anterior,
exemplo:
abriu a janela de alteracao de cor;
alterou para azul;
clickou ok;
abriu a janela de alteracao de cor;
alterou para verde;
fechou a janela de alteracao de cor;
neste exemplo o botao deveria voltar a cor azul, assim que fechasse a janela.
a minha duvida é como configura o evento de fechar a janela?
no caso de botao usamos o
if(click.getSource() == ){
…
}
gostaria de saber oq devo escrever dentro do if(…) para poder dizer que a janela foi fechada?
pq aí faria desta forma:
if ("janela de alteração de cores foi fechada"){
cor.setBackground(corAtual);
}
o exemplo que fiz é esse…
está funcionando normalmente até entao…
copiem e colem para testar e se puder me ajudar agradeco…
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JanelaCor implements ActionListener{
JFrame janelaPrincipal = new JFrame();
JFrame janelaOpcao = new JFrame();
JPanel painelPrincipal = new JPanel();
JPanel painelOpcao = new JPanel();
JButton ok = new JButton("OK");
JButton cor = new JButton("Cores");
JRadioButton azul = new JRadioButton("Azul");
JRadioButton verde = new JRadioButton("Verde");
ButtonGroup cores = new ButtonGroup();
Color corAtual = new Color(0,0,0);
public JanelaCor(){
janelaPrincipal.setSize(200,200);
janelaPrincipal.setLocation(250,250);
janelaPrincipal.setTitle("Teste");
janelaPrincipal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
painelPrincipal.setLayout(new GridLayout(1,1,2,2));
painelPrincipal.add(cor);
corAtual = painelPrincipal.getBackground();
cores.add(azul);
cores.add(verde);
painelOpcao.setLayout(new GridLayout(3,1,10,10));
painelOpcao.add(azul);
painelOpcao.add(verde);
painelOpcao.add(ok);
janelaPrincipal.add(painelPrincipal);
janelaPrincipal.setVisible(true);
janelaOpcao.setSize(200,200);
janelaOpcao.setTitle("Cores");
janelaOpcao.setLocation(450,250);
janelaOpcao.add(painelOpcao);
cor.addActionListener(this);
ok.addActionListener(this);
azul.addActionListener(this);
verde.addActionListener(this);
cor.addActionListener(this);
}
public void actionPerformed(ActionEvent click){{
if (click.getSource() == cor){
janelaOpcao.setVisible(true);
corAtual = cor.getBackground();
}
if (click.getSource() == azul){
cor.setBackground(new Color(0,0,255));
}
else if (click.getSource() == verde){
cor.setBackground(new Color(0,255,0));
}
if (click.getSource() == ok){
janelaOpcao.setVisible(false);
}
}
}
public static void main(String[] args){
new JanelaCor();
}
}
vlw 