Re:setEditable

9 respostas
E

Mas quando ele perde o foco, quando digita logo a letra C?..

public void actionPerformed(ActionEvent e) {

if(jTextField1.getText() == "C") {
		jTextField52.enable(true);
	}

}

9 Respostas

Ricardo_Siqueira

Ele t dá algum erro?

Matheus_Tardivo

Nem olhei o código inteiro, olhei somente a parte que você faz o teste. Tente mudar para:

if(jTextField1.getText().indexOf('C') >= 0) {
	jTextField52.setEnabled(true);
}

E, por favor, leiam: A classe java.lang.String

Mantu

Acho que o edushock queria saber em que momento o JTextField2(vamos chamá-lo de “txt2”):

  1. Vc quer que o txt2 seja editável no momento em que seja digitada a letra “C” no JTextField1(Chamemos de txt1)?
  2. Vc quer que o txt2 seja editável quando, ao sair do txt1, seja verificada a existência da letra “C” no txt1?
  3. Vc quer que o txt2 seja editável quando, ao apertar o ENTER dentro do txt1, seja verificada a existência da letra “C” no txt1?

Vou fazer um pequeno exemplo tosco para o caso 3, ok?

public SuaClasse implements ActionListener{
	...
	public seuMetodo(...){
		...
		txt1.addActionListener(this);
		...
	}
	...
	public void actionPerformed(ActionEvent e){
		String texto = txt1.getText();
		if(texto.length() > 0 && texto.indexOf("C") >= 0)
			txt2.setEnable(true);
		else
			txt2.setEnable(false);
	}
	...
}

Caso queira algum outro exemplo, ou caso não seja isso o que vc tava procurando, é so dizer, ok?

Matheus_Tardivo
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class TestFrame2 {

	private JFrame frame;
	private JTextField textField1, textField2;

	public TestFrame2() {
		frame = new JFrame("Test");
		frame.setLayout(new FlowLayout(FlowLayout.CENTER));

		textField1 = new JTextField(10);
		textField1.addKeyListener(new KeyHandler());
		textField2 = new JTextField(10);
		textField2.setEnabled(false);

		frame.getContentPane().add(textField1);
		frame.getContentPane().add(textField2);

		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(200, 200);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}

	class KeyHandler extends KeyAdapter {

		public void keyReleased(KeyEvent ev) {
			if (textField1.getText().indexOf('C') >= 0) {
				textField2.setEnabled(true);
			} else {
				textField2.setEnabled(false);
			}
		}
	}

	public static void main(String[] args) {
		new TestFrame2();
	}
}
D

Pessoal, estou com uma dúvida…
Eu tenho jTextField1 e um jTextField2.setEditable(true);
Eu preciso fazer com que o jTextField2 fique editável quando dentro do jTextField1 conter a letra C

Eu tenho que converter o jTextField1 para String e usar um actionPerformed do tipo:

public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(jTextField1 == C) {
			jTextField52.setEditable(true);
		}
	}

?

D

edushock:
Mas quando ele perde o foco, quando digita logo a letra C?..

public void actionPerformed(ActionEvent e) {

if(jTextField1.getText() == "C") {
		jTextField52.enable(true);
	}

}


edushock, valeu pela ajuda

Seguinte…

private JTextField getJTextField1() {
		if (jTextField1 == null) {
			jTextField1 = new JTextField();
			jTextField1.setBounds(new Rectangle(10, 30, 31, 19));
		}
		return jTextField1;
	}

	private JTextField getJTextField52() {
		if (jTextField52 == null) {
			jTextField52 = new JTextField();
			jTextField52.setBounds(new Rectangle(315, 30, 37, 19));
			jTextField52.setEnabled(false);
			jTextField52.addActionListener(this);
		}
		return jTextField52;
	}

	public void actionPerformed(ActionEvent e) {
		 if(jTextField1.getText() == "C") {
			 jTextField52.setEnabled(true);
			 }
		}

Fiz assim e não funcionou

D

Não

D

Na verdade seria o exemplo 1, você pode fazer um exemplo dele ?

D

Matheus Tardivo:
[

Funcionou! Obrigado.

Criado 13 de abril de 2006
Ultima resposta 13 de abr. de 2006
Respostas 9
Participantes 5