Java 网络接口';s getNetworkInterfaces()到JComboBox

Java 网络接口';s getNetworkInterfaces()到JComboBox,java,swing,enumeration,jcombobox,network-interface,Java,Swing,Enumeration,Jcombobox,Network Interface,第一个问题 NetworkInterface.getNetworkInterfaces(); 返回枚举类型。 枚举的每个元素都有一个getDisplayName()方法,该方法返回一个字符串,如en0、en1、vnic1等。 现在我想将这些字符串制作成一个JComboBox。我一直在努力把这些加进去 jComboBox1.setModel("Some code here"); 出于好奇,还有一个问题。。为什么从事Java工作的人决定使用枚举而不是NetworkInterface?并不是简单地

第一个问题

NetworkInterface.getNetworkInterfaces();
返回枚举类型。 枚举的每个元素都有一个getDisplayName()方法,该方法返回一个字符串,如en0、en1、vnic1等。 现在我想将这些字符串制作成一个JComboBox。我一直在努力把这些加进去

jComboBox1.setModel("Some code here");

出于好奇,还有一个问题。。为什么从事Java工作的人决定使用枚举而不是NetworkInterface?

并不是简单地将字符串添加到JComboBox中

jComboBox.add(NetworkInterface.getNetworkInterfaces().en1.getDisplayName())

或者,如果您想在模型中处理它,那么就编写一个实现
ListCellRenderer
的类,并在其方法
GetListCellRenderComponent()
中调用获取名称的方法并返回该名称。

并不是简单地将字符串添加到JComboBox中即可

jComboBox.add(NetworkInterface.getNetworkInterfaces().en1.getDisplayName())

或者,如果您想在模型中处理它,那么就编写一个实现
ListCellRenderer
的类,并在其方法
GetListCellRenderComponent()
中调用获取名称的方法并返回该名称。

不,这不起作用。。。getNetworkInterfaces()对象没有getDisplayName()方法,因为它不是NetworkInterface类型。@HeartInPice:我不知道
NetworkInterface.getNetworkInterfaces()所以不能写出完美的行,但你可以只写得到字符串的代码。@HarryJory,谢谢你的回答,我从你的回答中得到了一个提示,遍历了枚举的所有元素,并将每个显示名称添加到一个向量上,然后我使用
新的DefaultComboxModel(vector)添加了该向量不,那不行。。。getNetworkInterfaces()对象没有getDisplayName()方法,因为它不是NetworkInterface类型。@HeartInPice:我不知道
NetworkInterface.getNetworkInterfaces()所以不能写出完美的行,但你可以只写得到字符串的代码。@HarryJory,谢谢你的回答,我从你的回答中得到了一个提示,遍历了枚举的所有元素,并将每个显示名称添加到一个向量上,然后我使用
新的DefaultComboxModel(vector)添加了该向量“再问一个问题…”要再问一个问题,必须先问一个问题。“再问一个问题…”要再问一个问题,必须先问一个问题。