📄 dlgconfig.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 + -