⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlgconfig.java

📁 Java端口扫描器
💻 JAVA
字号:
package src;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.border.LineBorder;

import org.w3c.dom.Document;
import org.w3c.dom.NodeList;


public class DlgConfig extends JDialog {
	private static JTextField textField_1;
	private JTextField textField;
	private static JLabel label_4;
	public DlgConfig(ScannerGUI jf) {
		super(jf,true);
		setTitle("用户配置");

		final JPanel panel = new JPanel();
		final FlowLayout flowLayout = new FlowLayout();
		flowLayout.setAlignment(FlowLayout.LEFT);
		panel.setLayout(flowLayout);
		panel.setForeground(Color.GREEN);
		panel.setBackground(Color.BLACK);
		getContentPane().add(panel, BorderLayout.NORTH);

		final JLabel label = new JLabel();
		label.setForeground(Color.GREEN);
		label.setText("并发扫描最大线程数:");
		panel.add(label);

		textField = new JTextField();
		textField.setColumns(15);
		panel.add(textField);

		final JLabel label_1 = new JLabel();
		label_1.setForeground(Color.CYAN);
		label_1.setText("(*输入0-100之间的整数)");
		panel.add(label_1);

		final JPanel panel_1 = new JPanel();
		final FlowLayout flowLayout_2 = new FlowLayout();
		flowLayout_2.setAlignment(FlowLayout.LEFT);
		panel_1.setLayout(flowLayout_2);
		panel_1.setBackground(Color.BLACK);
		getContentPane().add(panel_1, BorderLayout.SOUTH);

		final JLabel label_3 = new JLabel();
		label_3.setForeground(Color.GREEN);
		label_3.setText("状态:");
		panel_1.add(label_3);

		label_4 = new JLabel();
		label_4.setPreferredSize(new Dimension(162, 16));
		label_4.setForeground(Color.GREEN);
		panel_1.add(label_4);

		final JToggleButton toggleButton_1 = new JToggleButton();
		toggleButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				if(validateText()){
				toggleButton_1.setEnabled(false);
				setThreadConfig(textField.getText());
				setCustomPort();
				dispose();
				ScannerGUI.textArea.setText("配置成功...");
				ScannerGUI.custom_port=getDefaultCustomPort();
				}else{
					label_4.setText("请正确输入...");
				}
			}
		});
		toggleButton_1.setText("确定(O)");
		panel_1.add(toggleButton_1);

		final JToggleButton toggleButton = new JToggleButton();
		toggleButton.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				dispose();
			}
		});
		toggleButton.setText("取消(C)");
		panel_1.add(toggleButton);

		final JPanel panel_2 = new JPanel();
		panel_2.setLayout(new FlowLayout());
		panel_2.setBorder(new LineBorder(Color.GREEN, 1, false));
		panel_2.setBackground(Color.BLACK);
		getContentPane().add(panel_2, BorderLayout.CENTER);

		final JLabel label_2 = new JLabel();
		label_2.setForeground(Color.GREEN);
		label_2.setText("自定义端口:");
		panel_2.add(label_2);

		textField_1 = new JTextField();
		textField_1.setColumns(46);
		panel_2.add(textField_1);
		
		if(getDefaultCustomPort()!=null){
			textField_1.setText(getDefaultCustomPort());
		}else{
			label_4.setText("初始化失败...");
		}
	}
	
	public static String getDefaultCustomPort(){
		Document doc=XmlUtils.getDocument();
		if(doc!=null){
			NodeList nodelist=doc.getElementsByTagName("custom-port");
			String port_num=nodelist.item(0).getFirstChild().getNodeValue();
			return port_num;
		}else{
			return null;
		}
	}
	
	public static void setCustomPort(){
		Document doc=XmlUtils.getDocument();
		if(doc!=null){
			NodeList nodelist=doc.getElementsByTagName("custom-port");
			nodelist.item(0).getFirstChild().setNodeValue(textField_1.getText());
			XmlUtils.saveConfiguration(doc);
		}
	}
	
	public static void setThreadConfig(String thread_num){
		Document doc=XmlUtils.getDocument();
		if(doc!=null){
			NodeList nodelist=doc.getElementsByTagName("thread-num");
			nodelist.item(0).getFirstChild().setNodeValue(thread_num);
			XmlUtils.saveConfiguration(doc);
		}
	}
	
	public boolean validateText(){
		String str=textField.getText();
		if(	str.matches("\\d") || str.matches("\\d\\d") || str.matches("\\d\\d\\d") || str.matches("\\d\\d\\d\\d") || str.matches("\\d\\d\\d\\d\\d")){
			return true;
		}else{
			return false;
		}
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -