Problema com janela no Java!

2 respostas
Mick_xD

Pessoal esse código que vou lista aki em baixo, quando eu executo-lo as vezes fica com uma tela branca não aparece nada, ai fecho abro novamente e na 3ª vez que faço isso ele passa a ficar normal, não sei o que pode esta dando errado espero que possam me ajudar.

Obs. Ja testei ele em outros PC’s mais fez a mesma coisa e o meu Java esta atualizado.

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 By Mick V1.0");
		fr.setSize(600, 200);
		fr.setResizable(false);
		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);
		
		tf2.setEditable(false);
		
		JButton bt1 = new JButton("Reverter");
		bt1.addActionListener(new ReverterListener());
		
		JButton bt2 = new JButton("Limpar");
		bt2.addActionListener(new ClearListener());
		
		JButton bt3 = new JButton("Copiar");
		bt3.addActionListener(new CopyListener());
		
		JButton bt4 = new JButton("Colar");
		bt4.addActionListener(new PasteListener());
		
		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);
		pn1.add(bt3);
		pn1.add(bt4);

		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) {
			
			String textoInverso = inverso(tf1.getText());
			tf2.setText(textoInverso);
			tf2.requestFocus();  
			tf2.selectAll();
		
		}
	
	}
	
	public class ClearListener implements ActionListener {
	
		public void actionPerformed(ActionEvent ev) {
			
			tf2.setText("");
			tf1.setText("");
			tf1.requestFocus();
		
		}
	
	}
	
	public class CopyListener implements ActionListener {
	
		public void actionPerformed(ActionEvent ev) {
			
			tf2.requestFocus();
			tf2.selectAll();
			tf2.copy();
		
		}
	
	}
	
	public class PasteListener implements ActionListener {
	
		public void actionPerformed(ActionEvent ev) {
			
			tf1.setText("");
			tf1.requestFocus();
			tf1.paste();
		
		}
	
	}

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

}

2 Respostas

R

usa o setvisible por ultimo no seu método GUI…
se precisar coloca um repaint mas acho que nem precisa…

Mick_xD

Vlwwww cara deu certo era so isso msm vlwwww brigadão!

Abraço!

Criado 15 de março de 2011
Ultima resposta 15 de mar. de 2011
Respostas 2
Participantes 2