62,614
社区成员
发帖
与我相关
我的任务
分享
import java.awt.BorderLayout;
import java.awt.FlowLayout;
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.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Main extends JFrame implements ActionListener {
private JTextArea name;
private JTextArea ip;
private JButton button;
private JTextArea result;
public Main() {
name = new JTextArea(1, 10);
ip = new JTextArea(1, 10);
button = new JButton("确定");
button.addActionListener(this);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(new JLabel("主机名:"));
panel.add(name);
panel.add(new JLabel("IP地址:"));
panel.add(ip);
panel.add(button);
this.add(panel, BorderLayout.NORTH);
result = new JTextArea(15, 20);
result.setEditable(false);
JScrollPane jsp = new JScrollPane(result);//给显示结果的JTextArea加上滚动条
this.add(jsp);
this.setTitle("地址解析");
this.setSize(600, 400);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
/**
* 处理确定按钮单击的事件
*/
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("确定")) {
if (name.getText().trim().equals("")) {
JOptionPane.showMessageDialog(this, "主机名不能为空!");
return;
}
if (ip.getText().trim().equals("")) {
JOptionPane.showMessageDialog(this, "IP地址不能为空!");
return;
} else if(!ip.getText().trim().matches("((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|[1-9])")) {//验证IP地址格式是否正确
JOptionPane.showMessageDialog(this, "IP地址格式错误,请检查后重新输入!");
return;
}
InetAddress address1 = null;
InetAddress address2 = null;
try {
address1 = InetAddress.getByName(name.getText().trim());
String message = "主机名:" + name.getText() + " 对应的IP地址为:" + address1.getHostAddress();
if(!result.getText().equals(""))
message = result.getText() + "\n" + message;
result.setText(message);
address2 = InetAddress.getByName(ip.getText().trim());
message = "IP地址:" + ip.getText() + " 对应的主机名为:" + address2.getHostName();
result.setText(result.getText() + "\n" + message);
} catch (UnknownHostException b) {
JOptionPane.showMessageDialog(this, "操作过程中出现了错误,请检查输入是否正确!");
return;
}
}
}
public static void main(String[] args) {
new Main();
}
}