Tenho um Form1, a partir dele chamo um Form2.
Ao clicar em um jButton no Form2 quero Desabilitar componentes (jButton, etc…) no Form1.
Da pra fazer?
obrigado.
[RESOLVIDO] Desabilitar componentes em Forms diferentes
L
5 Respostas
Bem, uma alternativa é você criar um método no Form1 e chama-lo no Form2.
Creio que isso deva resolver.
D
valeu
L
Fiz este metodo mas nao funciona.Fiz outros tb mas nao funcionao.
public void desabilita (){
jButton1.setEnabled(false);
}
Quando clico no jButton no form2 onde chamo o metodo, nada acontece no form1.
form1.desabilita();
Acho que e mais complicado que isto.Ou eu to fazendo alguma coisa errada.
valeu!
O
Opa, dá para fazer sim.
Um exemplo de código seria:import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Form1 extends JFrame {
private static final long serialVersionUID = 1L;
private JButton botaoAbrirForm2 = new JButton("Abrir Form2");
private Form2 form2 = new Form2(this);
public static void main(String[] args) {
Form1 f1 = new Form1();
f1.setVisible(true);
}
public Form1() {
setTitle("Formulario 1");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel painel = new JPanel(new FlowLayout());
painel.add(new JButton("Botao 1"));
painel.add(new JButton("Botao 2"));
painel.add(new JButton("Botao 3"));
painel.add(new JTextField("Caixa de texto 1"));
painel.add(new JTextField("Caixa de texto 2"));
painel.add(new JTextField("Caixa de texto 3"));
getContentPane().add(painel, BorderLayout.CENTER);
getContentPane().add(botaoAbrirForm2, BorderLayout.SOUTH);
botaoAbrirForm2.addActionListener(new ExibirForm2ActionAListener());
}
private class ExibirForm2ActionAListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
form2.setVisible(true);
}
}
}
class Form2 extends JFrame {
private static final long serialVersionUID = 1L;
private Form1 form1;
private JButton botaoDesabilitarTodosComponentesDoForm1 = new JButton("Desabilitar todos compontentes do Form1");
public Form2(Form1 form1) {
this.form1 = form1;
setTitle("Formulario 2");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
getContentPane().add(botaoDesabilitarTodosComponentesDoForm1, BorderLayout.SOUTH);
botaoDesabilitarTodosComponentesDoForm1.addActionListener(new DesabilitarTodosComponentesDoForm1ActionListener());
}
private class DesabilitarTodosComponentesDoForm1ActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
form1.setEnabled(false);
}
}
}
Bom, espero ter ajudado.
L
Valeu ajudou muito!!
Obrigado
Criado 30 de janeiro de 2010
Ultima resposta 3 de fev. de 2010
Respostas 5
Participantes 4
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo