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

📄 optiondialog.java

📁 一个使用Java编写的QQ批量登录器
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
class OptionDialog extends JDialog implements ActionListener,ChangeListener
{
	private JTabbedPane tab;
	private JTable table;
	private OptionTableModel model;
	private JButton clear,open,code,ok,cancel;
	private JCheckBox close,check,start;
	private JLabel detail,timeL;
	private JSpinner time;
	private ImageIcon icon;
	
	public OptionDialog(JFrame qq)
	{
		super(qq,"设定",true);
		
		tab=new JTabbedPane();
		
		model=new OptionTableModel(EnterQQ.getOptions());
		table=new JTable(model);
		table.setRowHeight(20);
		table.setShowGrid(false);
		table.addMouseListener
		(
			new MouseAdapter()
			{
				public void mouseClicked(MouseEvent e)
				{
					boolean selected=table.getSelectedRow()>-1;
					clear.setEnabled(selected);
					open.setEnabled(selected);
				}
			}
		);
		
		TableColumn column=table.getColumnModel().getColumn(0);
		column.setMaxWidth(60);
		JScrollPane pane=new JScrollPane(table);
		
		clear=new JButton("清除");
		open=new JButton("浏览");
		detail=new JLabel("说明:如果...");
		clear.addActionListener(this);
		clear.setEnabled(false);
		open.setEnabled(false);
		open.addActionListener(this);
		
		JPanel panel1=new JPanel();
		panel1.setLayout(null);
		pane.setBounds(10,10,300,100);
		clear.setBounds(120,120,80,20);
		open.setBounds(210,120,80,20);
		detail.setBounds(20,150,290,20);
		panel1.add(pane);
		panel1.add(clear);
		panel1.add(open);
		panel1.add(detail);
		
		tab.add("设定地址",panel1);
		
		close=new JCheckBox("启动账号后关闭",EnterQQ.getOptions().isClose());
		check=new JCheckBox("允许自动检查更新",EnterQQ.getOptions().isCheck());
		start=new JCheckBox("需要密码启动",EnterQQ.getOptions().isCodeNeeded());
		code=new JButton("设置密码");
		code.addActionListener(this);
		timeL=new JLabel("使用账号登录延迟/秒");
		time=new JSpinner();
		time.addChangeListener(this);
		time.setValue(EnterQQ.getOptions().getDelay());
		
		JPanel panel2=new JPanel();
		panel2.setLayout(null);
		close.setBounds(10,10,150,20);
		check.setBounds(10,40,150,20);
		start.setBounds(10,70,150,20);
		code.setBounds(15,100,90,20);
		timeL.setBounds(15,130,120,20);
		time.setBounds(135,130,40,20);
		
		panel2.add(close);
		panel2.add(check);
		panel2.add(start);
		panel2.add(code);
		panel2.add(timeL);
		panel2.add(time);
		
		tab.add("程序参数",panel2);
		
		ok=new JButton("确定");
		cancel=new JButton("取消");
		ok.addActionListener(this);
		cancel.addActionListener(this);
		
		setLayout(null);
		tab.setBounds(10,10,300,200);
		ok.setBounds(70,220,80,25);
		cancel.setBounds(170,220,80,25);
		add(tab);
		add(ok);
		add(cancel);
		
		Point loc=qq.getLocation();
		setBounds((int)loc.getX()+20,(int)loc.getY()+40,325,300);
		setResizable(false);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setVisible(true);
	}
	public void actionPerformed(ActionEvent e)
	{
		Object o=e.getSource();
		if(o==clear)
		{
			int[] rows=table.getSelectedRows();
			for(int r:rows)
			{
				model.setValueAt("",r,1);
			}
			model.fireTableDataChanged();
			clear.setEnabled(false);
			open.setEnabled(false);
		}
		if(o==open)
		{
			FileDialog dialog=new FileDialog(this,"打开程序地址",FileDialog.LOAD);
			dialog.setVisible(true);
			if(dialog.getFile()==null)
				return;
			String path=dialog.getDirectory()+dialog.getFile();
			int r=table.getSelectedRow();
			model.setValueAt(path,r,1);
			model.fireTableDataChanged();
			clear.setEnabled(false);
			open.setEnabled(false);
		}
		else if(o==code)
		{
			new CodeDialog(this,false);
		}
		else if(o==ok)
		{
			Options options=EnterQQ.getOptions();
			options.setQQPath((String)table.getValueAt(0,1));
			options.setTMPath((String)table.getValueAt(1,1));
			options.setGamePath((String)table.getValueAt(2,1));
			options.setClose(close.isSelected());
			options.setCheck(check.isSelected());
			options.setCodeNeeded(start.isSelected());
			options.setDelay(Integer.parseInt(time.getValue().toString()));
			dispose();
		}
		else if(o==cancel)
		{
			dispose();
		}
	}
	public void stateChanged(ChangeEvent e)
	{
		if(Integer.parseInt(time.getValue().toString())<0)
			time.setValue(0);
	}
}

⌨️ 快捷键说明

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