得 分 Java 编写图形用户界面在文本框输入一个域名,点击“查找”按钮显示此域名的计算机名和IP地址到文本区域。
时间: 2024-03-02 11:53:21 浏览: 19
好的,这是一个Java Swing界面的问题,我可以为你提供一个示例代码实现此功能:
```java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class DomainQueryGUI extends JFrame {
private static final long serialVersionUID = 1L;
private JTextField domainField;
private JTextArea resultArea;
public DomainQueryGUI() {
super("域名查询工具");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建输入框和按钮
JLabel domainLabel = new JLabel("域名:");
domainField = new JTextField(20);
JButton findButton = new JButton("查找");
findButton.addActionListener(new FindButtonListener());
// 创建文本框
resultArea = new JTextArea(10, 30);
resultArea.setLineWrap(true);
JScrollPane scrollPane = new JScrollPane(resultArea);
// 创建面板并添加组件
JPanel panel = new JPanel();
panel.add(domainLabel);
panel.add(domainField);
panel.add(findButton);
panel.add(scrollPane);
// 添加面板到窗口
add(panel);
// 设置窗口大小并显示
setSize(400, 300);
setLocationRelativeTo(null);
setVisible(true);
}
private class FindButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String domain = domainField.getText();
try {
InetAddress address = InetAddress.getByName(domain);
String computerName = address.getHostName();
String ip = address.getHostAddress();
resultArea.setText(String.format("计算机名: %s\nIP地址: %s", computerName, ip));
} catch (UnknownHostException ex) {
resultArea.setText("找不到该域名对应的IP地址");
}
}
}
public static void main(String[] args) {
new DomainQueryGUI();
}
}
```
运行代码后,会出现一个GUI界面,其中有一个输入框和一个按钮,用户可以在输入框中输入域名,点击按钮后会在文本框中显示该域名对应的计算机名和IP地址。