Fórum TIMER java #606358
31/10/2019
0
Bom dia,
Pessoal preciso usar um temporizador em java.
Não tenho experiencia em java.
Problema que não é aceito dentro de uma função statica. Nao consigo colocar dentro da MAIN
Objetivo é fazer com que a conexão seja mantida para atualizar cor da tela caso perca conexao com servidor VERMELHO e VERDE quando retorna conexao
Pessoal preciso usar um temporizador em java.
Não tenho experiencia em java.
Problema que não é aceito dentro de uma função statica. Nao consigo colocar dentro da MAIN
Objetivo é fazer com que a conexão seja mantida para atualizar cor da tela caso perca conexao com servidor VERMELHO e VERDE quando retorna conexao
public class Terminal extends JFrame {
private Color color;
Timer timer;
public static String Connectar() {
int porta = 1560;
String servidor = "xx.xx.xxx.xx";
Socket clientSocket = null;
String status = "false";
try {
clientSocket = new Socket(servidor, porta);
clientSocket.setKeepAlive(true);
status = String.valueOf(clientSocket.isConnected());
//clientSocket.close();
//clientSocket.getKeepAlive();
} catch (IOException ex) {
status = ex.toString();
}
return status;
}
public void Tarefa() {
int delay = 2000; // delay de 2 seg.
int interval = 5000; // intervalo de 1 seg.
timer.setDelay(delay);
timer.start();
}
//private JLabel jLabelErro;
/**
* @param args the command line arguments
*/
// ActionListener faz button1 iteragir com entry1
public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
JFrameTerminal janela = new JFrameTerminal();
janela.setLocationRelativeTo(null);
janela.setDefaultCloseOperation(janela.DISPOSE_ON_CLOSE);
janela.pack();
janela.setVisible(true);
String status = Connectar();
if (status == "true") {
//CONECATADO
Color verde = new Color(0, 128, 0);
janela.getContentPane().setBackground(verde);
JLabel jLabelErro = new JLabel();
jLabelErro = new JLabel("Connetion OK");
jLabelErro.setBounds(10, 170, 80, 15);
janela.getContentPane().add(jLabelErro);
jLabelErro.setForeground(Color.BLUE);
//break;
} else {
//DESCONECTADO
Color vermelho = new Color(255, 0, 0);
janela.getContentPane().setBackground(vermelho);
JLabel jLabelErro = new JLabel();
jLabelErro = new JLabel("Connetion Fail");
jLabelErro.setBounds(10, 170, 80, 15);
janela.getContentPane().add(jLabelErro);
jLabelErro.setForeground(Color.BLUE);
//break;
}
}
}
);
}
}
Jefferson
Curtir tópico
+ 0
Responder
Posts
07/11/2019
Manoel Junior
Então, você definiu método dentro de método... Isso foge da orientação a objetos. É convencional o run ser criado fora do Main, depois instanciar a classe e chamar o método.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)