TIMER java
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
Curtidas 0
Respostas
Manoel Junior
31/10/2019
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.
GOSTEI 0