Su internet ho trovato questo codice ma non funziona:

codice:
package prova;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.UnknownHostException;

import javax.swing.*;

public class Esempio extends JFrame {

    public class NetManager {

        private static final String URL = "http://www.html.it";

        private String findMeExternalIP() {
            String ip = null;
            try {
                URL page = new URL(URL);
                URLConnection yc = page.openConnection();
                BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
                ip = in.readLine();
                in.close();
            } catch (IOException ex) {
                return null;
            }
            return ip;
        }
    }

    public Esempio() throws UnknownHostException {
        NetManager t = new NetManager();
        String ip = t.findMeExternalIP();
        System.out.println(ip);
        setSize(899,899);
        //InetAddress ia = InetAddress.getLocalHost();
        //String ip = ia.getHostAddress();
        //System.out.println("IP:" + ip);

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                    Esempio interfaccia = new Esempio();
                    interfaccia.setVisible(true);
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                }

            }
        });
    }

}