`
gary0416
  • 浏览: 330410 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

显示本机IP(GUI版)

阅读更多

IPUtil.java

 

package com.gary.net;

import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;

public class IPUtil {

	public static void main(String[] args) throws SocketException {
		System.out.println(getLocalIPStr());
	}
	
	public static ArrayList<HashMap<String, String>> getLocalIP() throws SocketException {
		ArrayList<HashMap<String, String>> ips = new ArrayList<HashMap<String, String>>();
		Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
		InetAddress ip = null;
		while (allNetInterfaces.hasMoreElements()) {
			NetworkInterface netInterface = (NetworkInterface) allNetInterfaces
					.nextElement();
			Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
			while (addresses.hasMoreElements()) {
				ip = (InetAddress) addresses.nextElement();
				if (ip != null && ip instanceof Inet4Address 
						&& !ip.getHostAddress().equals("127.0.0.1")) {
					HashMap<String, String> nameAndIP = new HashMap<String, String>();
					nameAndIP.put("InterfaceName", netInterface.getName());
					nameAndIP.put("IP", ip.getHostAddress());
					ips.add(nameAndIP);
				}
			}
		}
		return ips;
	}
	
	public static String print(ArrayList<HashMap<String, String>> ips){
		StringBuffer sb = new StringBuffer();
		for (HashMap<String, String> ip : ips) {
			sb.append("InterfaceName:" + ip.get("InterfaceName") + "\n");
			sb.append("IP:" + ip.get("IP") + "\n");
		}
		return sb.toString();
	}
	
	public static String getLocalIPStr(){
		try {
			return print(getLocalIP());
		} catch (SocketException e) {
			return "127.0.0.1";
		}
	}
}

 

ViewIPFrame.java

 

package com.gary.net;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class ViewIPFrame extends JFrame implements ActionListener{
	
	private static final long serialVersionUID = 6389756886534379680L;

	JMenuItem jmiExit,jmiAbout;
	public ViewIPFrame(){
		jmiExit = new JMenuItem("Exit");
		jmiAbout = new JMenuItem("About");
		JMenuBar jmb = new JMenuBar();
		setJMenuBar(jmb);
		
		JMenu fileMenu = new JMenu("File",false);
		JMenu helpMenu = new JMenu("Help",false);
		
		jmb.add(fileMenu);
		jmb.add(helpMenu);
		
		fileMenu.add(jmiExit);
		helpMenu.add(jmiAbout);
		
		jmiExit.addActionListener(this);
		jmiAbout.addActionListener(this);
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == jmiExit){
			System.exit(0);
		}else if(e.getSource() == jmiAbout){
			JOptionPane.showMessageDialog(this,"View IP Address \n author: gary \n bug report: qq 408036296");
		}
	}
	
	public static void main(String [] args){
		JTextArea jtextArea = new JTextArea(IPUtil.getLocalIPStr());
		jtextArea.setEditable(false);
		ViewIPFrame frame=new ViewIPFrame();
		frame.setTitle("viewIP");
		frame.getContentPane().add(jtextArea);
		frame.setSize(200,100);
		frame.pack();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}

 

界面预览


  • 大小: 11.3 KB
分享到:
评论

相关推荐

    双心ping_GUI V1.1

    本软件还可以遍历本机所有的网卡,显示本机网卡类型,MAC地址,IP地址,子网掩码,默认网关,首选DNS,备用DNS, 还可以显示显示本机外网IP地址,本机IP所在地,来源于http://www.ip138.com/,备选网站...

    JavaGUI聊天室.zip

    刚接触Java中的GUI编程和网络编程时觉得很有意思,所以就结合了这两个方面并结合IO、多线程的知识,做了一个GUI版的聊天室。 这个聊天室是两端开发,服务器端和客户端 **服务器端功能:** 1. 开启和关闭服务器 2. 总...

    x-scan v3.3 GUI

    理论上可运行于Windows NT系列操作系统,推荐运行于Windows 2000以上的Server版Windows系统。 二. 功能简介: 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能。扫描内容包括:远程服务...

    hscan_gui_1.2

    在HScan菜单中单击"start"命令,开始对IP地址进行漏洞扫描和信息获取,在HScan的主界面中会滚动显示扫描结果,左上方显示的是扫描的命令或者扫描的模块,下方为扫描结果,右方是扫描的详细信息,如图2-56所示。...

    毕设绝技GUI聊天室代码资源

    当前在线列表能够实时显示当前在线的所有用户的网名、IP和端口,方便用户选择消息接收人。 多用户支持:GUI聊天室采用C/S(客户端-服务器)设计架构,支持多个用户同时使用。用户可以选择加入或创建房间,与房间内的...

    python基础IP搜索

    3.问题分析:既然是GUI程序,那么就会有界面,通过在界面输入框中输入的IP地址去利用pygeoip库操纵所给出的数据库查询出所在国家和地区,具体城市,地域代码,所在地经纬度等信息显示出来即可。

    nbtscan v2.21中文版.rar

     本机IP: 这里显示的是你的计算机其中的一个IP地址。(如果是有多个IP的话) 扫描进度:显示当前扫描的完成情况。 扫描结果:显示的是已经返回mac地址的计算机IP,还包括计算机名称、工作组。 修改本机MAC地址...

    计算机网络课程设计 多线程端口扫描器(TCP/UDP端口扫描)(java实现)带GUI界面

    2.1用户界面:用户可以输入IP地址或IP地址段;输入端口号或端口号范围;列表显示主机名、开放的端口及开放端口上相应的服务名称。 2.2端口的有效范围是1~65535,在该范围内使用多线程机制循环创建客户端套接字对象,...

    traceroute-gui:在Google静态地图上显示中间主机

    traceroute-gui 如果traceroute命令在地图上显示ip-address位置,它将如何? 请参阅Wiki以获取更多信息: 样本输出:

    GGBoom1.1谷歌翻译修复工具(可视化).rar

    本工具用于修复部分软件因调用 Google 翻译官方接口而出现翻译功能无法使用的问题,此版本同时已修复官网无法访问的问题。( https://translate.google.com/, 注意是https和com ) 发现已经有命令行版本了。。。。。...

    Scrcpy_GUI_byCZ_V1_policemany6w_scrcpy_Scrcpy_GUI_android_Scrcpy

    这个应用程序提供了在USB(或TCP/IP)上连接的Android设备的显示和控制。它不需要任何根访问。它可以在GNU/Linux、Windows和macOS上工作。

    propertiesGUI - 在可编辑的上下文感知表中显示属性:propertiesGUI 处理并在上下文感知 GUI 表中显示数据属性列表-matlab开发

    propertiesGUI 本身,没有输入参数,显示一个演示默认情况下,propertiesGUI 识别并处理以下内容字段类型:有符号,无符号,浮点数,文件,文件夹,文本或字符串,颜色, IP 地址、密码、日期、布尔值、元胞数组、...

    Python做的TCP聊天查询,用的GUI窗体实现

    Python做的TCP聊天查询,用的GUI窗体实现,有4个文件:客户端+服务端,使用类和未实用类。实验原理 Socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信...

    【最新版】sloth-2.9.zip【亲测可用】最好的显示系统上所有正在运行的进程正在使用的所有打开的文件和套接字

    用Objective-C / Cocoa编写的快速响应本机应用程序 Sloth本质上是建立在lsof命令行工具之上的友好的探索性GUI 。解析输出并将其显示在可搜索,可过滤的轮廓视图中,并带有各种其他用户友好功能。请参见下面的屏幕...

    Ping GUI for Windows:PingGUI,Windows中用于ping的GUI-开源

    PingGUI是ping IP地址和网站的GUI。 可以同时ping通多个目的地。 Ping时间将以图形和文字形式显示。

    qtclang:CC ++应用程序的小型PyQt GUI

    适用于C / C ++应用程序的小型PyQt GUI 加载后,将显示给定目录中的所有C / C ++源文件。 这些可以编译。 还可以选择编译程序文件(包含主要功能)并运行该文件。 如果在程序打开时添加/删除了源文件,则可以刷新...

    dameware远程控制

    双击“Browser”框中的“Properties”项,在右侧窗口标签页栏中就显示出远程客户机的软、硬件配置信息(如图),包括远端时间、Windows版本信息、硬件配置信息、显示适配器信息、环境变量、网络配置信息和客户机所...

    WebRTC:Home Assistant自定义组件,用于使用WebRTC技术实时查看IP摄像机RTSP流

    WebRTC相机 家庭助理自定义组件,用于使用技术实时查看IP摄像机流。 基于: -WebRTC的纯Go实现通过和转到应用为什么选择WebRTC: 可以在任何现代浏览器中使用,甚至可以在手机上使用唯一具有最小相机流延迟(0.5秒及...

Global site tag (gtag.js) - Google Analytics