JOptionPane.showMessageDialog não fecha!

8 respostas
BMuniz

Pessoal,

Estou criando um programa para pegar o IP da interface de rede. O que acontece é que ele pega o IP tudo certo, porém, quando ele joga na tela a caixa de mensagem ele não me deixa clicar no botão OK. Eu preciso “forçar sair” para fechar a tela.

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import javax.swing.JOptionPane;



public class helloworld {
	public static int i = 0;

	public static String ip;
	

	public static void main(String[] args) {
		Enumeration nis = null;
		try {
			nis = NetworkInterface.getNetworkInterfaces();
		} catch (SocketException e) {
			e.printStackTrace();
		}
		while (nis.hasMoreElements()) {
			NetworkInterface ni = (NetworkInterface) nis.nextElement();
			Enumeration ias = ni.getInetAddresses();
			while (ias.hasMoreElements()) {
				InetAddress ia = (InetAddress) ias.nextElement();
				if ((ni.getName().equals("eth0")) && (i < 1)) {
					i++;
					ip =  ia.getHostAddress();
				
				}
			}
		}
		try {
				
				Runtime.getRuntime().exec("firefox");
				/*JOptionPane.showMessageDialog(null, ip);*/
				JOptionPane.showMessageDialog(null, ip);
			} catch (java.io.IOException e) {
				System.out.println("nao foi possivel localizar o aplicativo");
			}
	}
}

Ah! Estou utilizando o Ubuntu 8.04, com Eclipse …

Desde já obrigado!

8 Respostas

BMuniz

E ai gurizada tem alguma ideia?

R

Olá, estava pensando… Vc declarou a classe “javax.swing.JOptionPane;” , Ok… Será q ela não está faltando no seu sistema ?

Só estou aprendendo java tb, mas e se vc substituisse a linha em questão por:

//por exemplo:
JOptionPane.showMessageDialog(null, “IP:”+ip);

Espero q dê certo !
Abraço

BMuniz

rmi,

Valeu, mas eu havia tentado tbm e não deu certo!

Obrigadão!!!

R

E isto aki:

JOptionPane.showMessageDialog (null, “IP:”+ip,JOptionPane.PLAIN_MESSAGE ); break;

//pode tentar tirando o break; também…

??

maior_abandonado

é…o problema não é no seucodigo não… eu executei aqui e o joptionpan executo normalmente e pude fecha-lo normalmente… (eu só corrigi o caminho pro firefox aki… )

BMuniz

rmi,

o break não funciona fora de um loop. E não funfo o negócio.

BMuniz

maior_abandonado:
é…o problema não é no seucodigo não… eu executei aqui e o joptionpan executo normalmente e pude fecha-lo normalmente… (eu só corrigi o caminho pro firefox aki… )

Maior,

Eu não sei se não é algum pau do eclipse no Ubuntu!

BMuniz

Pessoal,

Resolvido o problema, era pau do eclipse no ubuntu mesmo.
Ai vai para alguém que quera implementar na sua empresa.

package suporte;

import java.net.InetAddress;   
import java.net.NetworkInterface;   
import java.net.SocketException;   
import java.util.Enumeration;   
import javax.swing.JOptionPane;   
  
  
  
public class SuporteRemoto {   
    public static int i = 0;   
  
    public static String ip;   
       
  
    public static void main(String[] args) {   
        Enumeration nis = null;   
        try {   
            nis = NetworkInterface.getNetworkInterfaces();   
        } catch (SocketException e) {   
            e.printStackTrace();   
        }   
        while (nis.hasMoreElements()) {   
            NetworkInterface ni = (NetworkInterface) nis.nextElement();   
            Enumeration ias = ni.getInetAddresses();   
            while (ias.hasMoreElements()) {   
                InetAddress ia = (InetAddress) ias.nextElement();
                String ia_ip=ia.getHostAddress().substring(0,2);
                /* aqui se adequa a minha rede que 10.*.*.*
                estou bolando uma que realize um ping e o 
                que responder é a interface valida */
                if(ia_ip.equals("10")){
                    ip =  ia.getHostAddress();
                }                
            }   
        }
       try {   
                Runtime.getRuntime().exec("C:\RealVNC\WinVNC\winvnc.exe");   
                JOptionPane.showMessageDialog(null, "IP: " + ip, "SUPORTE REMOTO", 0);   
            } catch (java.io.IOException e) {   
            	 JOptionPane.showMessageDialog(null, "E R R O!"); 
            }  
    }   
}
Criado 15 de agosto de 2008
Ultima resposta 15 de ago. de 2008
Respostas 8
Participantes 3