`
gary0416
  • 浏览: 334975 次
  • 性别: 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
分享到:
评论

相关推荐

    获取本机IP

    在某些GUI应用中,可能需要通过控件展示本机IP地址。例如,在Windows Forms或Qt等平台上,可以创建一个文本框控件,并将其文本属性绑定到获取IP地址的函数。源码通常会涉及事件处理,当用户需要查看IP时触发获取和...

    获得本机IP地址

    程序可能会提供一个图形用户界面(GUI),显示IP地址,以便用户更直观地查看。 **5. ** **MYIP.INF文件:** MYIP.INF文件通常是安装文件,它包含了应用程序的元数据,如版本号、作者信息、安装路径等。对于Delphi...

    winsocket编程获得本机IP地址和计算机名称

    综上所述,通过Winsock编程,我们可以编写一个简单的GUI程序,它能够获取并显示本机的IP地址和计算机名称。这个过程涉及到Winsock的初始化、网络信息查询、地址解析,以及最后的资源清理。这些步骤都是构建任何涉及...

    获取本机IP地址工具

    总结来说,"获取本机IP地址工具"是一个利用C#实现的实用程序,它通过`NetworkInterface`或`Dns`类获取并显示本机的IP地址,对于需要频繁查询本机网络状态的用户非常方便。了解这些基本的网络编程和C#知识,有助于...

    GUI.rar_java ip gui

    标题中的"GUI.rar_java ip gui"表明这是一个关于图形用户界面(GUI)的编程示例,主要使用Java语言,并涉及IP(Internet Protocol)相关的功能。在描述中提到,这是一组适用于高等院校计算机应用技术硕士研究生课程的...

    双心ping_GUI V1.1

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

    IP数据包捕获带GUI界面

    标题中的“IP数据包捕获带GUI界面”指的是一个基于Java开发的项目,它具有图形用户界面(GUI),用于在Windows操作系统下捕获和分析IP数据包。这个项目结合了编程环境IntelliJ IDEA(IDEA)和特定的库来实现这一功能...

    myip.zip_show IP_本机IP_透明窗_透明窗口

    例如,通过执行`ipconfig /all`命令,可以显示包括本机IP在内的各种网络配置信息。 透明窗口技术是一种图形用户界面(GUI)的特效,它使得窗口的部分或全部内容与背景融为一体,让用户感觉窗口是透明的。在Delphi或...

    显示IP系统(C#源代码编写)

    本项目名为"显示IP系统(C#源代码编写)",它是一个用C#实现的小型应用,能够展示本地IP地址以及局域网内的其他IP地址。下面我们将详细探讨相关的知识点。 1. **C#语言基础** - 类和对象:C#是面向对象的语言,显示...

    可以查询本机ip

    通过打开并分析这些源代码,学习者可以深入理解MFC框架的工作原理,以及如何使用Winsock API来获取和显示本机IP地址。这是一个宝贵的实践机会,能够帮助初学者巩固理论知识,并提升实际编程技能。

    使用IP地址控件显示和设置IP地址

    本示例聚焦于如何在MFC应用中使用IP地址控件来显示和设置IP地址,这对于网络编程尤其重要,因为它允许用户直观地输入和查看网络设备的IP配置。 IP地址控件(CIPAddressCtrl)是Windows API提供的一种特殊控件,用于...

    桌面水印:名称+IP+时间

    在IT领域,尤其是在软件开发中,有时我们需要对某些工作成果进行保护或标记,例如在桌面显示自定义的信息,比如“名称+IP+时间”的水印。这个任务可以通过编程实现,特别是使用Python这样的高级语言。本篇文章将深入...

    vb +海康ip摄像机

    7. **用户界面设计**:VB强大的GUI(图形用户界面)设计能力,使得开发者可以创建直观易用的监控系统界面,用户可以轻松查看实时画面、控制摄像机、查看录像等。 总之,结合VB的编程能力和海康IP摄像机的网络化特性...

    基于MATLAB GUI开发的TCP/IP通讯调试助手 包含视频教程

    在本资源中,我们主要探讨的是一个基于MATLAB图形用户界面(GUI)开发的TCP/IP通信调试工具,该工具还附带了详细的视频教程。MATLAB是一种强大的编程环境,广泛应用于科学计算、数据分析以及工程应用等领域,而在这...

    pyqt5实现自动获取IP软件

    这个“pyqt5实现自动获取IP软件”项目是基于Python3.6开发的,旨在帮助用户自动获取并显示他们的IP地址。下面我们将详细探讨PyQT5的使用、自动获取IP地址的实现以及系统托盘功能。 首先,PyQT5是Qt库的一个Python...

    获取输入的ip范围并显示出来

    本文将详细讨论如何在VC++环境下,利用IP范围获取和显示功能,特别是结合CLISTCTRL控件进行可视化展示。 首先,我们要理解IP地址是互联网上设备的唯一标识,通常以点分十进制的形式表示,如192.168.1.1。"获取输入...

    基于java聊天室(gui)

    【Java聊天室(GUI)详解】 ...开发者不仅可以掌握基础的TCP/IP通信,还能深入理解如何将这些概念应用到实际的GUI应用中。通过这个项目,你将能够创建出一个功能完善的、支持多用户实时交流的聊天应用。

Global site tag (gtag.js) - Google Analytics