Como deixar uma textFild editável com um evento de outra janela

1 resposta
I

olá pessoal

estou com um problema

quero fazer com q uma textFild se torne editável quando um botão em outra janela for apertado sendo q as duas janelas estão visíveis

obrigado a todos

1 Resposta

dyeimys

Boa noite igorLopes,
Eu não sei se esta é a forma correta de se fazer, porém eu sei que da certo.

Crie as duas Classes uma com o JTextFiled e a outra com o JButton e na classe que contem o TF voce cria um metodo estatico(Para modificar a edição do TextField) que neste caso voce acessa ele com referencia a classe e nao a instancia!
Vejamos um exemplo aqui:

Classe TextField
public class TextField extends JFrame {

    static JTextField tf = new JTextField();
    private final Container tela;

    public TextField() {
        setLayout(new BorderLayout());
        setSize(500, 500);
        
        tela = getContentPane();
        tela.add(tf);

        setDefaultCloseOperation(3);
        setLocationRelativeTo(null);
        setVisible(true);
    }
//Metodo que será acessado para modificar a Edição do TextField
    static void tfsetEditable() {
        if (tf.isEditable()) {
            tf.setEditable(false);
        } else {
            tf.setEditable(true);
        }
    }
}
Classe Button
public class Button extends JFrame {
   JButton bt = new JButton("Editavel");
    private final Container tela;

    public Button() {
        setSize(100, 100);
        setLayout(new BorderLayout());
        setDefaultCloseOperation(3);

        tela = getContentPane();
//Adicionado a acão no Button, no caso ele irá acessar o metodo que modifica a visibilidade 
//do TextField da Classe TextField
        bt.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                TextField.tfsetEditable();
            }
        });

        tela.add(bt);
        setLocationRelativeTo(null);
        setVisible(true);
    }
}
Classe Teste
//Conterá apenas um metodo principal (main) chamando os dois JFrames
public static void main(String[] args) {
        new TextField();
        new Button();
    }

Qualquer duvida ou solução melhor poste aqui no Forum!

Criado 29 de setembro de 2012
Ultima resposta 30 de set. de 2012
Respostas 1
Participantes 2