一个简单的Java端口扫描程序(含窗体和线程),通过各种百度,总算勉强完成。
以下是代码
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
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 Demo1 extends JFrame{
// private static final long serialVersionUID = 1L;
JFrame frame=new JFrame("Java端口扫描器");//创建窗口
JPanel panel=new JPanel();// 创建一个面板
// 设置标签
JLabel iplabel=new JLabel("输入IP");
JTextField ipField=new JTextField("127.0.0.1",12);
JLabel portlabel1=new JLabel("输入开始端口");
JTextField portField1=new JTextField("0",7);
JLabel portlabel2=new JLabel("输入结束端口");
JTextField portField2=new JTextField("65535",7);
JLabel timeoutlabel=new JLabel("输入超时毫秒值");
JTextField timeoutField=new JTextField("1000",7);
JLabel threadlabel=new JLabel("输入线程数");
JTextField threadField=new JTextField("5",7);
JButton button=new JButton("开始");
// 内容输入框
JLabel textlabel=new JLabel("端口扫描结果");
JTextArea area=new JTextArea();
JScrollPane jScrollPane = new JScrollPane(area);
pu