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

📄 indialog.java

📁 一个使用Java编写的QQ批量登录器
💻 JAVA
字号:
import java.awt.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.border.*;
public class InDialog extends JDialog implements ActionListener
{
	private JLabel pathL,typeL;
	private JTextField path;
	private JButton open,done,ok,cancel;
	private JTable table;
	private JComboBox type;
	private JCheckBox hide,save;
	private JPopupMenu menu;
	private JMenuItem[] item;
	private InTableModel model;
	private Vector<QQData> cells;
	
	public InDialog(JDialog dialog)
	{
		super(dialog,"导入账号",true);
		
		pathL=new JLabel("地址");
		path=new JTextField();
		open=new JButton("...");
		open.addActionListener(this);
		done=new JButton("确定");
		done.addActionListener(this);
		
		menu=new JPopupMenu();
		item=new JMenuItem[5];
		item[0]=new JMenuItem("选择");
		item[1]=new JMenuItem("取消选择");
		item[2]=new JMenuItem("全选");
		item[3]=new JMenuItem("全不选");
		item[4]=new JMenuItem("反选");
		for(int i=0;i<item.length;i++)
	    {
	    	menu.add(item[i]);
	    	item[i].addActionListener(this);
	    	if(i==1||i==3)
	    		menu.addSeparator();
	    }
	    
		cells=new Vector<QQData>(1,1);
		model=new InTableModel(cells);
		table=new JTable(model);
		table.addMouseListener
		(
			new MouseAdapter()
			{
				public void mouseClicked(MouseEvent e)
				{
					int id=e.getButton();
					if(id==e.BUTTON3)
					{
						int row=table.rowAtPoint(e.getPoint());
						if(row!=-1)
							table.setRowSelectionInterval(row,row);
						menu.show(table,e.getX(),e.getY());
					}
				}
			}
		);
		table.setGridColor(EnterQQ.GridColor);
		table.setRowHeight(20);
		table.setDefaultRenderer(JLabel.class,new LabelCellRenderer(cells));
		TableColumn checkColumn=table.getColumn("");
		checkColumn.setMaxWidth(20);
		JScrollPane pane=new JScrollPane(table);
		pane.addMouseListener
		(
			new MouseAdapter()
			{
				public void mouseClicked(MouseEvent e)
				{
					int id=e.getButton();
					if(id==e.BUTTON3)
					{
						int row=table.rowAtPoint(new Point(e.getX(),e.getY()));
						if(row!=-1)
							table.setRowSelectionInterval(row,row);
						menu.show(table,e.getX(),e.getY());
					}
				}
			}
		);
		
		typeL=new JLabel("执行模式");
		type=new JComboBox(new String[]{"QQ","TM","QQ游戏"});
		type.addActionListener(this);
		hide=new JCheckBox("隐身登录");
		hide.addActionListener(this);
		save=new JCheckBox("记住密码以备查看",EnterQQ.getOptions().isCodeSave());
		
		ok=new JButton("确定");
		ok.addActionListener(this);
		cancel=new JButton("取消");
		cancel.addActionListener(this);
		
		JPanel panel=new JPanel();
		panel.setLayout(null);
		panel.setBorder(BorderFactory.createTitledBorder(null,"选择导入文件",TitledBorder.LEADING,TitledBorder.TOP,EnterQQ.FONT,Color.orange.darker()));
		pathL.setBounds(10,20,25,20);
		path.setBounds(40,20,180,20);
		open.setBounds(220,20,30,20);
		done.setBounds(255,20,60,20);
		pane.setBounds(10,50,310,140);
		typeL.setBounds(25,200,60,20);
		type.setBounds(85,200,80,20);
		hide.setBounds(20,225,80,20);
		save.setBounds(20,250,140,20);
		panel.add(pathL);
		panel.add(path);
		panel.add(open);
		panel.add(done);
		panel.add(pane);
		panel.add(typeL);
		panel.add(type);
		panel.add(hide);
		panel.add(save);
		
		JPanel button=new JPanel();
		button.add(ok);
		button.add(cancel);
		
		add("Center",panel);
		add("South",button);
		
		Point loc=dialog.getLocation();
		setBounds((int)loc.getX()+10,(int)loc.getY()+10,330,355);
		setResizable(false);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setVisible(true);
	}
	public void actionPerformed(ActionEvent e)
	{
		Object o=e.getSource();
		if(o==open)
		{
			FileDialog dialog=new FileDialog(this,"打开账号文件/TXT格式",FileDialog.LOAD);
			dialog.setVisible(true);
			if(dialog.getFile()==null)
				return;
			if(dialog.getFile().endsWith(".txt"))
			{
				path.setText(dialog.getDirectory()+dialog.getFile());
			}
			else
			{
				EnterQQ.KIT.beep();
				JOptionPane.showMessageDialog(null,"账号文件格式不对","警告信息",JOptionPane.WARNING_MESSAGE,EnterQQ.WARNING);
			}
		}
		else if(o==done)
		{
			File file=new File(path.getText());
			try
		    {
		    	BufferedReader reader=new BufferedReader(new FileReader(file));
		    	while(reader.ready())
		    	{
		    		String line=reader.readLine();
		    		String[] data=line.split("\\s+",0);
		    		if(data.length<2)
		    		{
		    			JOptionPane.showMessageDialog(null,"文档内容不全,请更正后再导入!","警告信息",JOptionPane.INFORMATION_MESSAGE,EnterQQ.WARNING);
		    			return;
		    		}
		    		QQData qq=new QQData(data[0],data[1]);
		    		qq.setType(type.getSelectedIndex());
		    		model.addData(qq);
		    	}
		    	model.fireTableDataChanged();
		    }
		    catch(Exception ee)
		    {}
		}
		else if(o==type)
		{
			int[] rows=table.getSelectedRows();
			for(int r:rows)
			{
				QQData qq=cells.get(r);
				qq.setType(type.getSelectedIndex());
			}
			model.fireTableDataChanged();
		}
		else if(o==hide)
		{
			int[] rows=table.getSelectedRows();
			for(int r:rows)
			{
				QQData qq=cells.get(r);
				qq.setHide(hide.isSelected());
			}
			model.fireTableDataChanged();
		}
		else if(o==ok)
		{
			if(table.getRowCount()==0)
				return;			
			int count=0;
			for(int i=0;i<cells.size();i++)
		    {
		    	if((Boolean)model.getValueAt(i,0))
		    	{
		    		count++;
		    		EnterQQ.getQQData().add(cells.get(i));
		    	}
		    }
		    EnterQQ.getTableModel().fireTableDataChanged();
		    EnterQQ.getOptions().setCodeSave(save.isSelected());
		    EnterQQ.KIT.beep();
	    	JOptionPane.showMessageDialog(null,"   成功导入"+count+"个账号","提示信息",JOptionPane.INFORMATION_MESSAGE,EnterQQ.ICON);
		    dispose();
		}
		else if(o==cancel)
		{
			dispose();
		}
		else if(o==item[0])
		{
			int[] rows=table.getSelectedRows();
			for(int r:rows)
			{
				QQData qq=cells.get(r);
				qq.setSelected(true);
			}
			model.fireTableDataChanged();
		}
		else if(o==item[1])
		{
			int[] rows=table.getSelectedRows();
			for(int r:rows)
			{
				QQData qq=cells.get(r);
				qq.setSelected(false);
			}
			model.fireTableDataChanged();
		}
		else if(o==item[2])
		{
			for(int r=0;r<table.getRowCount();r++)
			{
				QQData qq=cells.get(r);
				qq.setSelected(true);
			}
			model.fireTableDataChanged();
		}
		else if(o==item[3])
		{
			for(int r=0;r<table.getRowCount();r++)
			{
				QQData qq=cells.get(r);
				qq.setSelected(false);
			}
			model.fireTableDataChanged();
		}
		else if(o==item[4])
		{
			for(int r=0;r<table.getRowCount();r++)
			{
				if(!table.isRowSelected(r))
				{
					QQData qq=cells.get(r);
					qq.setSelected(true);
				}
			}
			model.fireTableDataChanged();
		}
	}
}

⌨️ 快捷键说明

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