Kodinha Postado Setembro 29, 2018 Denunciar Compartilhar Postado Setembro 29, 2018 Olá! Estou com dificuldades no tratamento de eventos em Java. Gostaria de adicionar os logs de eventos ao TextArea, com a data e hora em que ocorreram. Comecei a implementar o evento de click do botão. Ele funciona, mas não sei como faço para jogar o log na área de texto. Tem uma parte do código que deixei comentada, que seria utilizada para adicionar o log a todos os eventos, mas não está funcionando como esperado (não implementei todos os eventos ainda). Os eventos que quero monitorar são: Botao: MouseListener - Implementar todos os métodos desta interface. Frame: MouseListener - Implementar todos os métodos desta interface. Campo 1 e 2:FocusListener - Implementar todos os métodos desta interface. Campo 1 e 2:KeyListener - Implementar o método keyTyped informando no log a tecla pressionada. Seria para ser mais ou menos igual a da foto Meu Codigo Spoiler package eventolog.luciano; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class EventoLogLuciano extends JFrame { private JLabel jCampo1, jCampo2, jLog; private JTextField jtfCampo1, jtfCampo2; private TextArea taLog; private JButton jbBotao; public EventoLogLuciano() { IniciarComponentes(); } public void IniciarComponentes() { jbBotao = new JButton("Botão"); jbBotao.setBounds(320, 270, 80, 30); jbBotao.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Botao Foi Clicado"); } }); this.setSize(450, 350); this.setLayout(null); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Tratamento de Eventos"); jCampo1 = new JLabel("Campo 1"); jCampo1.setBounds(10, 10, 50, 20); jtfCampo1 = new JTextField(); jtfCampo1.setBounds(10, 30, 200, 20); jCampo2 = new JLabel("Campo 2"); jCampo2.setBounds(225, 10, 50, 20); jtfCampo2 = new JTextField(); jtfCampo2.setBounds(225, 30, 200, 20); jLog = new JLabel("Log de Eventos"); jLog.setBounds(10, 80, 90, 20); taLog = new TextArea("", 10, 60, TextArea.SCROLLBARS_VERTICAL_ONLY); taLog.setBounds(10, 100, 400, 150); taLog.setEditable(true); this.add(jCampo1); this.add(jtfCampo1); this.add(jCampo2); this.add(jtfCampo2); this.add(jLog); this.add(taLog); this.add(jbBotao); } /** // Não funciona corretamente //Método que pode ser utilizado para adicionar ao log todos eventos public void addEventos(String evento) { DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); //pega hora Date date = new Date(); taLog.setText( dateFormat.format(date)+" - "+evento+"\n"+ taLog.getText()); taLog.setCaretPosition(0); //posiciona na primeira linha } public void keyTyped(KeyEvent e) { addEventos("Tecla \""+e.getKeyChar()+"\" digitada no Campo 1");//pega a tecla pressionada no campo 1 } * * */ public static void main(String[] args) { JFrame x = new EventoLogLuciano(); x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); x.setVisible(true); } } Link para o comentário Compartilhar em outros sites More sharing options...
Reset Postado Dezembro 18, 2018 Denunciar Compartilhar Postado Dezembro 18, 2018 Seu tópico foi marcado como Inativo. Para reverter está ação, entre em contato com a equipe de Moderação. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados