Agora é só implementar o método EDeDoisMinutosAtras.
pedroroxd
Beleza...
Ficou assim:
StringBuilderoutput=newStringBuilder();Scannerscan=newScanner(txtDialog.getText());SimpleDateFormatsdf=newSimpleDateFormat("HH:mm");Stringhora=(sdf.format(newDate()));while(scan.hasNextLine()){Stringlinha=scan.nextLine();Stringhorachat=linha.substring(0,5);if(horachat!=hora){// NA VERDADE TERIA QUE SER hora -2 minutos...output.append(linha+"\n");}}scan.close();txtDialog.setText(output.toString());
Como que faço pra fazer o que eu escrevi ali na linha 11? (Diminuir 2 minutos)
ViniGodoy
Na verdade, o ideal mesmos seria você criar uma classe para suas mensagens. Nesse classe, colocar um campo de typestamp (que pode ser um Calendar) e outro do texto.
Então, crie um um TreeSet de objetos dessa classe, ordenados pelo timestamp. Aí sim, faça um método que só exibe esse set no JTextArea.
Então, quando você quiser excluir tudo, exclua objetos dessa lista e a redesenhe no JTextArea. E como o tipo do timestamp vai ser um JCalendar ou algum tipo da JODA-Time, fica fácil.
pedroroxd
vixi…
Não intendi mt coisa não… rs…
Alguém teria um exemplo desse pronto? Ou pode ajudar eu a fazer o meu?
Vlws…
StringBuilderoutput=newStringBuilder();Scannerscan=newScanner(txtDialog.getText());SimpleDateFormatsdf=newSimpleDateFormat("HH:mm");inthora=pegarMinutosAtuais()-2;while(scan.hasNextLine()){Stringlinha=scan.nextLine();inthorachat=converterParaMinutos(linha.substring(0,5));if(horachat!=hora){// NA VERDADE TERIA QUE SER hora -2 minutos...output.append(linha+"\n");}}scan.close();
Só que dessa forma, você não trata trocas de dias. Por isso o ideal seria mesmo manter um calendar e fazer do outro jeito que comentei.
pedroroxd
O hora é do tipo int,e e o horachat do tipo string…
O Primeiro ficou assim:
public int converterParaMinutos(String hora) {
int minutoChat = Integer.parseInt(hora.substring(3,2)); //hora
int horaChat = Integer.parseInt(hora.substring(0,2)); //hora
return horaChat * 60 + minutoChat;
}
Mas aqui ta dando erro:
public int pegarMinutosAtuais()
{
return coverterParaMinutos(new SimpleDateTimeFormat("HH:mm").format(new Date())); //SimpleDateTimeFormat não existe.. Não seria SimpleDateFormat?
}
ViniGodoy
É sim.
Meus códigos podem ter alguns errinhos. É que não trabalho mais com Java, nem tenho eclipse instalado aqui. Faço tudo de cabeça…
pedroroxd
Hehe…
Mesmo assim é foda em java…
Que bom poder saber esse tanto de java e não precisar trabalhar com isso! kkkk
Ficou assim:
public int converterParaMinutos(String hora) {
int minutoChat = Integer.parseInt(hora.substring(3,2)); //hora
int horaChat = Integer.parseInt(hora.substring(0,2)); //hora
return horaChat * 60 + minutoChat;
}
public int pegarMinutosAtuais()
{
return converterParaMinutos(new SimpleDateFormat("HH:mm").format(new Date()));
}
ViniGodoy
Eu trabalhava, até ano passado… fiquei 6 anos trabalhando com Java. Fazia sistemas para a área testes em telecomunicações.
Beleza. Agora como esses métodos transformam aquela String de horas em minutos, fica fácil fazer as contas.
Uma hora como 2:30 vai virar:
2x60 + 30 = 150 minutos.
Uma hora como 1:32 vai virar 92 minutos… Isso já trata automaticamente as viradas de hora:
1:30 = 90 minutos
2:20 = 150 minutos.
E você ainda pode usar comparadores relativos, como > ou <.
Só tome o cuidado para todas as suas horas usarem o padrão 24 horas.
pedroroxd
Mas mesmo assim não funcionou não…
Ele não tá passando daki: int minutoChat = Integer.parseInt(hora.substring(3,2));
pedroroxd
Funcionou aki agora…
Era lá que tava errado msmo…
Passei pra: int minutoChat = Integer.parseInt(hora.substring(3,5)); ae foi…
Vlw ae vinigodoy!
Dinovo!