Action em JButton

4 respostas
AnaluizaB

Olá, preciso que o meu botão start a minha thread, porém não esta dando certo rsrs
segue o codigo

Tela
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;


public class TelaTrabalho extends JFrame implements ActionListener{

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					TelaTrabalho frame = new TelaTrabalho();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public TelaTrabalho() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);

		JButton btn = new JButton("Ok");
           btn.addActionListener(verificaArquivo.start());
Codigo
import java.io.BufferedReader;
	import java.io.File;
	import java.io.FileInputStream;
	import java.io.IOException;
	import java.io.InputStream;
	import java.io.InputStreamReader;

	public class Codigo extends Thread {	

		public void run(){
			while(true)
				leArquivo();
			
		}
		Thread verificaArquivo = new Thread();
		 
		public  void leArquivo() {
long tamanhoArquivo;
			
			File diretorio = new File("C:\\Teste");
			
					
			
			File arquivo = new File(diretorio, "Nomes.txt");
			
			try {
				
				
				
				InputStream is = new FileInputStream(arquivo);
				InputStreamReader isr = new InputStreamReader(is);
				BufferedReader br = new BufferedReader(isr);
tamanhoArquivo=arquivo.length();
				String s = br.readLine(); // primeira linha
				while (s != null) {
					System.out.println(s);
					s = br.readLine();
				}
				br.close();

			} catch (IOException e) {
				
				e.printStackTrace();
			}

		}

	}

4 Respostas

Brainiac.jar

Poste o código completo, incluindo o método actionPerformed, senão fica difícil te ajudar.

J

Cara... você esta usando algum editor como netbeans ou eclipse ?? procure algum tutorial que essas ferramentas acabam ajudando no aprendizado mesmo elas automatizando algumas funções para você... bom no seu caso.... primeiro, a melhor das formas e para MIM, e a mais correta é você implementar Runnable em sua classe ao invés de extender de Thread

por exemplo:
public class MinhaClasse implements Runnable
segundo: seu actionlistener faça o seguinte:
btn.addActionListener(new ActionListener() //adicione um novo listener e não sua thread
        {

            @Override //implementa metodos obrigatórios da interface
            public void actionPerformed(ActionEvent ae)
            {
                Codigo codigo = new Codigo(); //instancia sua classe que implementa Runnable
                Thread verificaArquivo = new Thread(codigo); //instancia uma nova thread
                verificaArquivo.start(); 
            }
        });
terceiro: não há nescessidade de voce usar dois File, um para indicar a pasta e outro para o arquivo, a não ser que isso seja realmente crucial, mas não é seu caso, basta apenas
File file = new File("c:\\diretorio\\arquivo.extensao");

Provavelmente vc esteja usando uma das IDEs que citei, procure verificar oque um metodo pede como argumento e oque ele retorna quando você for ultiliza-lo...
e quando der algum problema como esse... coloque também stackTrace gerado pela exceção... tente alterar essas partes que falei, se der problema retorna ae...
Abrass

J

Desculpe…a gora que fui ver que vc não é mais um cueca do forum…
String correcao.repalce(“Cara”, Moca);

AnaluizaB

Josue Eduardo:
Desculpe…a gora que fui ver que vc não é mais um cueca do forum…
String correcao.repalce(“Cara”, Moca);

Hehe, tranquilo :wink:
hein, deu qse certo, mas o texto apareceu apenas no console, nao na tela …

Criado 2 de março de 2013
Ultima resposta 2 de mar. de 2013
Respostas 4
Participantes 3