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
分享到:
相关推荐
在某些GUI应用中,可能需要通过控件展示本机IP地址。例如,在Windows Forms或Qt等平台上,可以创建一个文本框控件,并将其文本属性绑定到获取IP地址的函数。源码通常会涉及事件处理,当用户需要查看IP时触发获取和...
程序可能会提供一个图形用户界面(GUI),显示IP地址,以便用户更直观地查看。 **5. ** **MYIP.INF文件:** MYIP.INF文件通常是安装文件,它包含了应用程序的元数据,如版本号、作者信息、安装路径等。对于Delphi...
综上所述,通过Winsock编程,我们可以编写一个简单的GUI程序,它能够获取并显示本机的IP地址和计算机名称。这个过程涉及到Winsock的初始化、网络信息查询、地址解析,以及最后的资源清理。这些步骤都是构建任何涉及...
总结来说,"获取本机IP地址工具"是一个利用C#实现的实用程序,它通过`NetworkInterface`或`Dns`类获取并显示本机的IP地址,对于需要频繁查询本机网络状态的用户非常方便。了解这些基本的网络编程和C#知识,有助于...
标题中的"GUI.rar_java ip gui"表明这是一个关于图形用户界面(GUI)的编程示例,主要使用Java语言,并涉及IP(Internet Protocol)相关的功能。在描述中提到,这是一组适用于高等院校计算机应用技术硕士研究生课程的...
本软件还可以遍历本机所有的网卡,显示本机网卡类型,MAC地址,IP地址,子网掩码,默认网关,首选DNS,备用DNS, 还可以显示显示本机外网IP地址,本机IP所在地,来源于http://www.ip138.com/,备选网站...
标题中的“IP数据包捕获带GUI界面”指的是一个基于Java开发的项目,它具有图形用户界面(GUI),用于在Windows操作系统下捕获和分析IP数据包。这个项目结合了编程环境IntelliJ IDEA(IDEA)和特定的库来实现这一功能...
例如,通过执行`ipconfig /all`命令,可以显示包括本机IP在内的各种网络配置信息。 透明窗口技术是一种图形用户界面(GUI)的特效,它使得窗口的部分或全部内容与背景融为一体,让用户感觉窗口是透明的。在Delphi或...
本项目名为"显示IP系统(C#源代码编写)",它是一个用C#实现的小型应用,能够展示本地IP地址以及局域网内的其他IP地址。下面我们将详细探讨相关的知识点。 1. **C#语言基础** - 类和对象:C#是面向对象的语言,显示...
通过打开并分析这些源代码,学习者可以深入理解MFC框架的工作原理,以及如何使用Winsock API来获取和显示本机IP地址。这是一个宝贵的实践机会,能够帮助初学者巩固理论知识,并提升实际编程技能。
本示例聚焦于如何在MFC应用中使用IP地址控件来显示和设置IP地址,这对于网络编程尤其重要,因为它允许用户直观地输入和查看网络设备的IP配置。 IP地址控件(CIPAddressCtrl)是Windows API提供的一种特殊控件,用于...
在IT领域,尤其是在软件开发中,有时我们需要对某些工作成果进行保护或标记,例如在桌面显示自定义的信息,比如“名称+IP+时间”的水印。这个任务可以通过编程实现,特别是使用Python这样的高级语言。本篇文章将深入...
7. **用户界面设计**:VB强大的GUI(图形用户界面)设计能力,使得开发者可以创建直观易用的监控系统界面,用户可以轻松查看实时画面、控制摄像机、查看录像等。 总之,结合VB的编程能力和海康IP摄像机的网络化特性...
在本资源中,我们主要探讨的是一个基于MATLAB图形用户界面(GUI)开发的TCP/IP通信调试工具,该工具还附带了详细的视频教程。MATLAB是一种强大的编程环境,广泛应用于科学计算、数据分析以及工程应用等领域,而在这...
这个“pyqt5实现自动获取IP软件”项目是基于Python3.6开发的,旨在帮助用户自动获取并显示他们的IP地址。下面我们将详细探讨PyQT5的使用、自动获取IP地址的实现以及系统托盘功能。 首先,PyQT5是Qt库的一个Python...
本文将详细讨论如何在VC++环境下,利用IP范围获取和显示功能,特别是结合CLISTCTRL控件进行可视化展示。 首先,我们要理解IP地址是互联网上设备的唯一标识,通常以点分十进制的形式表示,如192.168.1.1。"获取输入...
【Java聊天室(GUI)详解】 ...开发者不仅可以掌握基础的TCP/IP通信,还能深入理解如何将这些概念应用到实际的GUI应用中。通过这个项目,你将能够创建出一个功能完善的、支持多用户实时交流的聊天应用。