扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Mustang提供了以编程方式存取网络参数的方法—这是通过在java.net.NetworkInterface类和新的java.net.InterfaceAddress类中提供的10个新的方法实现的。这些新引入的网络接口方法列举如下:
①“public byte[] getHardwareAddress()”:以一个字节数组形式返回这个网络接口的硬件地址(通常是机器地址代码,或MAC—也称作以太网地址)。如果这个接口没有一个硬件地址,或如果不能存取这个地址(因为该用户没有足够的权限),则返回null。如果发生一个I/O错误,则抛出一个java.net.SocketException异常。
②“public List
③“public int getMTU()”:返回这个网络接口的最大传输单位(MTU)。该MTU指的是一个通讯协议层能够传递到另一个层的最大包的大小(以字节为单位)。例如,以太网允许的最大MTU是1500字节。根据某一标准(例如以太网)或连接时间(在端到端串行连接时,经常有这种情况),该MTU能够被设置为一个固定长度。如果发生一个I/O错误,则抛出一个SocketException异常。
④“public NetworkInterface getParent()”:如果这个网络接口是一个子接口,则返回这个网络接口的父网络接口(作为一个NetworkInterface实例)。然而,如果这个网络接口是一个物理(非虚拟的)接口或如果这个网络接口是虚拟的并且没有父接口,则返回null。
⑤“public Enumeration
⑥“public boolean isLoopback()”:返回true,如果这个网络接口是一个loopback接口(一种网络接口,在该接口中,外发数据作为输入数据被立即反射回该接口)。如果存在一个I/O问题,则抛出一个SocketException异常。
⑦“public boolean isPointToPoint()”:返回true,如果这个网络接口是一个端到端的接口(例如一个通过调制解调器建立的PPP连接)。如果存在一个I/O问题,则抛出一个SocketException异常。
⑧“public boolean isUp()”:返回true,如果这个网络接口是“up”并且已经“running”。“up”指示已经为这个接口建立起了路由入口。“running”指示要求的系统资源已经分配。如果存在一个I/O问题,则抛出一个SocketException异常。
⑨“public boolean isVirtual()”:返回true,如果这个网络接口是一个虚拟接口(也称作“子接口”)。如果存在一个I/O问题,则抛出一个SocketException异常。
⑩“public boolean supportsMulticast()”:返回true,如果这个网络接口支持多点传送(指一个服务器程序把一个消息的一个副本发送给多个客户端程序的能力)。如果存在一个I/O问题,则抛出一个SocketException异常。
InterfaceAddress类描述了一个网络接口地址。除了通常的实现获得一个哈希代码和获得一个字符串描述等方法之外,这个类还提供了下列三个方法:
【注意】 典型的IPv6值是128(::1/128)或10(fe80::203:baff:fe27:1243/10)。针对IPv4的典型的值是8(255.0.0.0),16(255.255.0.0),或24(255.255.255.0)。
我创建了一个简单的NetParmsDemo应用程序,它展示了NetworkInterface和InterfaceAddress类中提供的许多新的方法。列表3描述了这个应用程序的源代码(见源码文件中的NetParmsDemo.java)。
五、 表格排序与过滤
Swing的表格组件在若干方面得到了增强。其中的一个改进是,支持对一个表格中的行数据进行按升/降序排序并且能够过滤掉其中某些行(所有数据来自于表格模型),并最终显示在组件的视图中。
【请记住】排序和过滤仅对视图有影响,而对模型无影响。
排序和过滤基于一个新概念—行排序器对象,它能够对行数据进行排序(和过滤)。把一个行排序器加入到一个表格组件中的最简单的方法是调用javax.swing.JTable中新引入的“public void setAutoCreateRowSorter(boolean autoCreateRowSorter)”方法,下面的代码片断演示了它的用法:
TableModel model = createTableModel (); JTable table = new JTable (model); table.setAutoCreateRowSorter (true); |
在每次改变模型时,把true传递给setAutoCreateRowSorter()能够使JTable安装一个新的javax.swing.Table.TableRowSorter
注意,当你不想定制行排序器时,你也有可能调用setAutoCreateRowSorter()。但是,在调用这个方法后,你仍然能够定制行排序器,这是通过首先调用JTable的新的“public RowSorter extends TableModel> getRowSorter()”方法以返回当前行排序器来实现的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者