Dúvida sobre JTextFiled e selectAll

4 respostas
Mick_xD

Gente tenho uma dúvida não consigo selecionar o texto do JTextField com selectAll alguém pode me dar uma luz ja tentei quase tudo estou meio perdido so iniciante em Java.

Obrigado se puderem ajudar.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Reverse {

	JTextField tf1;
	JTextField tf2;

	public String inverso(String normalString) {
	
		String inversoString = "";
		char arrayChar[] = normalString.toCharArray();
		for (int i = arrayChar.length - 1; i >= 0; i--) {
			inversoString += String.valueOf(arrayChar[i]);
		}
		return inversoString;
	
	}
	
	public void Gui() {
	
		JFrame fr = new JFrame("Reverto");
		fr.setSize(600, 300);
		fr.setVisible(true);
		fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		JPanel pn1 = new JPanel();
		JPanel pn2 = new JPanel();
		JPanel pn3 = new JPanel();
		
		pn1.setBackground(Color.darkGray);
		pn2.setBackground(Color.black);
		pn3.setBackground(Color.black);
		
		tf1 = new JTextField(40);
		tf2 = new JTextField(40);
		
		JButton bt1 = new JButton("Reverter");
		bt1.addActionListener(new ReverterListener());
		
		JButton bt2 = new JButton("Limpar");
		bt2.addActionListener(new ClearListener());
		
		
		JLabel lb1 = new JLabel("Digite a URL: ");
		lb1.setForeground(Color.white);
		
		JLabel lb2 = new JLabel("Url Invertida: ");
		lb2.setForeground(Color.white);
		
		pn1.add(bt1);
		pn1.add(bt2);

		pn3.add(lb2);
		pn3.add(tf2);
		
		pn2.add(lb1);
		pn2.add(tf1);
		
		fr.getContentPane().add(BorderLayout.NORTH, pn2);
		fr.getContentPane().add(BorderLayout.CENTER, pn3);
		fr.getContentPane().add(BorderLayout.SOUTH, pn1);

	}
	
	public class ReverterListener implements ActionListener {
		
		public void actionPerformed(ActionEvent ev) {
			
			tf1.selectAll();
		
		}
	
	}
	
	public class ClearListener implements ActionListener {
	
		public void actionPerformed(ActionEvent ev) {
			
			
		
		}
	
	}

	public static void main(String[] args) {
	
		Reverse rv = new Reverse();
		rv.Gui();
	
	}

}

4 Respostas

Eric_Yuzo

Passe o foco para o text field antes de chamar o selectAll:

textField.requestFocusInWindow(); textField.selectAll();

G

Olá, seguinte, o selectAll(), serve para selecionar todo o CONTEÚDO de JTextField, mas se você quiser que ele receba o foco ai e outra coisa, você pode usar os dois em conjunto:

txt = new JTextField("valor dentro do txt");
		txt.requestFocus();
		txt.selectAll();
Mick_xD

Muito Obrigado vlw msm… mas vc pode me dizer em que influencia requestFocusInWindow() assim eu estou aprendendo obrigado.

Edit.: Obrigado entendi para ele ficar selecionado ele precisa receber o foco… Obrigado ^^ vlws iniciante desculpa ai gente.

Eric_Yuzo

Para selecionar um conteúdo do text field, é preciso que o foco esteja sobre ele. Por exemplo, se selecionar um texto qualquer e depois clicar em outro lugar, o foco sai do texto, assim o texto perde a seleção. Seria mais ou menos a mesma lógica.

Criado 14 de janeiro de 2011
Ultima resposta 14 de jan. de 2011
Respostas 4
Participantes 3