我在JAVA中有这个简单的GUI,我想在JTextField中放入一个字符串 包含我本地机器的IP。
我尝试使用此命令获取IP:
InetAddress.getLocalHost().getHostAddress();
并将其存储在字符串中,并将字符串放在JTextField中
我尝试过使用gettext()
和settext()
,但没有成功。
代码:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.FlowLayout;
public class GuiLearn extends JFrame {
private JLabel label;
private JTextField textfield;
public GuiLearn () {
setLayout (new FlowLayout());
textfield = new JTextField("This is where the IP address should be...");
add(textfield);
}
public static void main (String args[]) {
GuiLearn yuvi = new GuiLearn();
yuvi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
yuvi.setSize(400,400);
yuvi.setVisible(true);
yuvi.setTitle("guiiiiiii");
}
}
请帮助..
答案 0 :(得分:0)
当您实例化JTextField时,传递给构造函数的String参数将为您设置文本。
由于InetAddress.getLocalHost().getHostAddress()
返回一个String,你可以简单地将它作为构造函数参数传递给JTextField。
this.textfield = new JTextField(InetAddress.getLocalHost().getHostAddress());
或者,您可以在实例化对象后随时调用this.textField.setText(InetAddress.getLocalHost().getHostAddress())
。