做了一个"virus",需要提示

Made a "virus", need tips

首先,它并不是真正用于监视或窃取银行帐户的病毒。我什至不知道它是不是病毒。我只是为了 troll friends/people 我知道,并练习我的编程技能。我会给你看代码,然后我会试着解释一下;

package pracatice;

import java.awt.event.*;

import javax.swing.*;

public class practice extends JFrame 
{
    public static boolean bool = true;
    public static int x = 0;
    public static int y = 0;
    public static int num = 0;
    public static TimerClass tc = new TimerClass();
    public static Timer timer = new Timer(30, tc);
    public JPanel panel = new JPanel();
    public JButton btn = new JButton("press");

    public practice()
    {
        setSize(100,100);
        setTitle("Test");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        setPanel();
        setVisible(true);   
    }
    public void setPanel()
    {
        btn.addActionListener(new listener());
        panel.add(btn);

        add(panel);
    }

    public class listener implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
    {
        num = 0;
        timer.start();
    }
}

    public static class TimerClass implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            do
            {

            num++;
            JOptionPane optionPane = new JOptionPane("PC afected by virus");
            JDialog dialog = optionPane.createDialog(null, "Virus");
            dialog.setModal(false);
            dialog.setLocation(x, y);
            dialog.show();
            updateCordinates();
            }while(bool == true);
        }
    }

    public static void updateCordinates()
    {
        if(x != 1100)
            x += 100;
        else if(x == 1100)
        {
            x = 0;
            y += 50;
        }
        if(y == 650)
           y =0;


    }
     public static void main(String[] args)
     {
        new practice();
     }
} 

所以,一开始它显然构建了一个 window,100 X 100 像素大。它添加了一个显示 "press" 的按钮。当您按下时,它会开始一个新的循环,每 30 毫秒一次。 循环的每次迭代,它都会在稍微不同的位置放入一个新的 JOPtionPane.showMessageBox(null,...)

刚开始的时候,我不知道它会是不可阻挡的。我 运行 它,不得不重新启动我的笔记本电脑。当我按下确定时,它会放入另一个盒子,在完全相同的位置。当我尝试打开任务管理器时,它会自动将其最小化,并返回 "virus" window。因此,笔记本电脑无法使用。我不得不重新启动它,关闭我爸爸的一些标签...

以下是我想了解的一些事情;

1) 如果我把这个 运行 放了一夜,笔记本电脑 运行 或 RAM 是否有可能耗尽,如果确实如此,会发生什么?

2) 我可以做到,当我按下键盘上的一个按钮时,整个东西就关闭了吗?

就像我之前说的,我只是想 p运行k 我的朋友,程序碰巧无法关闭...有什么建议吗?

  1. 是的,计算机最终会 运行 内存不足。发生这种情况时,除了程序崩溃外,不会发生任何灾难性事件。

  2. 不太容易,因为 JOptionPane windows 不要让键盘事件到达程序的其余部分。您需要使用自己的类型 window 而不是 JOptionPane。然后你可以使用 KeyListenerSystem.exit(0).