/*
* MainJFrame.java
*
*
*/
package com.test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Properties;
import com.test.ThreadScan;
import javax.swing.table.*;
import javax.swing.*;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
/**
*
* @author 贺子超
*/
public class MainJFrame extends javax.swing.JFrame {
/** Creates new form MainJFrame */
public MainJFrame() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
private void initComponents() {
panel3 = new javax.swing.JScrollPane();
table = new javax.swing.JTable();
tipPane = new javax.swing.JScrollPane();
psInfo = new javax.swing.JTextArea();
menu = new javax.swing.JMenuBar();
文件 = new javax.swing.JMenu();
本机信息 = new javax.swing.JMenuItem();
jSeparator2 = new javax.swing.JSeparator();
net = new javax.swing.JMenuItem();
jSeparator3 = new javax.swing.JSeparator();
exit = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
tableVisible = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
visible = new javax.swing.JMenuItem();
操作 = new javax.swing.JMenu();
当前进程信息 = new javax.swing.JMenuItem();
jSeparator4 = new javax.swing.JSeparator();
扫描计算机 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("JAVA\u672c\u5730\u76d1\u542c\u8fdc\u7a0b\u626b\u63cf\u7a0b\u5e8f");
setName("mainFrame");
table.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
table.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
table.setCellSelectionEnabled(true);
panel3.setViewportView(table);
psInfo.setColumns(20);
psInfo.setEditable(false);
psInfo.setRows(5);
psInfo.setText("\u4fe1\u606f\u63d0\u793a\u6846");
psInfo.setDragEnabled(true);
psInfo.setVerifyInputWhenFocusTarget(false);
tipPane.setViewportView(psInfo);
menu.setToolTipText("\u6587\u4ef6");
文件.setText("\u6587\u4ef6");
文件.setName("\u6587\u4ef6");
文件.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
文件ActionPerformed(evt);
}
});
本机信息.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.ALT_MASK));
本机信息.setText("\u5f53\u524d\u7cfb\u7edf\u4fe1\u606f");
本机信息.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
本机信息ActionPerformed(evt);
}
});
文件.add(本机信息);
文件.add(jSeparator2);
net.setText("\u7f51\u7edc\u72b6\u6001");
net.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
netActionPerformed(evt);
}
});
文件.add(net);
文件.add(jSeparator3);
exit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.ALT_MASK));
exit.setText("\u9000\u51fa");
exit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exitActionPerformed(evt);
}
});
文件.add(exit);
menu.add(文件);
jMenu2.setText("\u89c6\u56fe");
jMenu2.setEnabled(false);
tableVisible.setText("\u663e\u793a\u4fe1\u606f\u8868\u683c");
tableVisible.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tableVisibleActionPerformed(evt);
}
});
jMenu2.add(tableVisible);
jMenu2.add(jSeparator1);
visible.setText("\u9690\u85cf\u63d0\u793a\u6846");
visible.setName("\u663e\u793a\u63d0\u793a\u6846");
visible.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
visibleActionPerformed(evt);
}
});
jMenu2.add(visible);
menu.add(jMenu2);
操作.setText("\u64cd\u4f5c");
当前进程信息.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.ALT_MASK));
当前进程信息.setText("\u5f53\u524d\u8fdb\u7a0b");
当前进程信息.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
当前进程信息ActionPerformed(evt);
}
});
操作.add(当前进程信息);
操作.add(jSeparator4);
扫描计算机.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK));
扫描计算机.setText("\u626b\u63cf\u8ba1\u7b97\u673a");
扫描计算机.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
扫描计算机ActionPerformed(evt);
}
});
操作.add(扫描计算机);
menu.add(操作);
setJMenuBar(menu);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(tipPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 371, Short.MAX_VALUE)
.add(10, 10, 10))
.add(org.jdesktop.layout.GroupLayout.TRAILING, panel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 381, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.add(panel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 153, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(tipPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void netActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_netActionPerformed
// TODO 将在此处添加您的处理代码:
panel3.setVisible(false);
// panel3.setEnabled(false);
//table.setEnabled(false);
tipPane.setVisible(true);
psInfo.setVisible(true);
tipPane.setLocation(0,0);
tipPane.setSize(381,260);
psInfo.setSize(3
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
3.1 体系结构与功能介绍 3.1.1 体系结构 设计C/S模式的本地监听和远程端口扫描。C/S模式本地监听远程扫描系统共有6个Java 源文件和1个form文件组成,form文件是主类的窗口文件,由IDE netbeans自动生成。主类MainJFrame.java主要完成本地进程的实时枚举,相关开放端口的枚举功能;ThreadScan.java主要完成多线程的远程主机扫描。其他的几个类文件主要是辅助类,以及方法实现类,用来完成响应的业务操作。 3.1.2 功能大体介绍 该程序有以下功能模块: 本地监听:主要实现实时查看操作系统当前运行进程,并根据进程查看本机响应端口和远程计算机连接情况。用户可以实时枚举当前系统所有运行的进程,根据进程id和端口开放的关系,查找开放的TCP及UDP端口。由于java工作的虚拟机之上的,所以java并不能直接获得操作系统进程的句柄。这些操作只能通过操作系统API或者提供的接口程序运行,本次设计考虑到java本地接口和Runtime类运行操作系统自己提供的shell/命令行(windows)两种方式。 远程扫描:远程端口Java socket类与远程主机
资源推荐
资源详情
资源评论
收起资源包目录
JAVA本地监听与远程端口扫描(源代码+论文).zip (13个子文件)
JAVA本地监听与远程端口扫描(源代码+论文)
src
.~003212005_贺子超_本地监听与远程端口扫描的设计与开发.doc 162B
H2003212005_贺子超_本地监听与远程端口扫描的设计与开发.doc 325KB
com
test
scanFrame.java 11KB
MainJFrame.form 10KB
tasklist.exe 79KB
UpDownArrow.java 1KB
scanFrame.form 10KB
SortManager.java 7KB
MainJFrame.java 21KB
TCPThread.java 5KB
ThreadScan.java 3KB
GetMACAddress.java 3KB
TableDemo.java 5KB
共 13 条
- 1
资源评论
依邻依伴
- 粉丝: 1383
- 资源: 161
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 沈丘盛世龙门图纸符合规范化
- HM3400-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于python+streamlit联邦学习进行高校学生成绩预测研究python源码+项目说明+模型+数据.zip
- HM3400D-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- HM3400B-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- spring-boot示例
- 搜集火星资源.py
- JAR应用启动停止脚本化解决方案.zip
- 配合eclipse svn插件subclipse-4.3.4版本的javahl
- Bash脚本教程:如何优雅地停止JAR服务.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功