制作一个"病毒",需要提示

时间:2016-07-10 01:01:00

标签: java swing awt ram virus

首先,它并不是用来监视或窃取银行账户的病毒。我甚至都不知道它是不是病毒。我只是去了我认识的朋友/人,并练习我的编程技巧。我会告诉你代码,然后我会尝试解释一下;

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();
     }
} 

所以,起初它显然构建了一个100 X 100 px大的窗口。它添加了一个按钮,表示"按"。按下时,它会每30毫秒启动一个新循环。 在循环的每次迭代中,它在一个稍微不同的位置放入一个新的JOPtionPane.showMessageBox(null,...)

起初,当我刚刚制作它时,我并不知道它会不可阻挡。我跑了,不得不重新启动笔记本电脑。当我按下确定时,它会放入另一个盒子,在完全相同的位置。当我尝试打开任务管理器时,它会自动将其最小化,然后再回到病毒"窗口。所以,笔记本电脑无法使用。我不得不重新启动它,关闭了一些我爸爸的标签......

以下是我想要了解的一些内容;

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

2)我可以说,当我按下键盘上的按钮时,整个事情就会关闭吗?

就像我之前说过的那样,我只是试图恶作剧我的朋友,而且程序碰巧不能关闭......有什么建议吗?

1 个答案:

答案 0 :(得分:3)

  1. 是的,计算机最终会耗尽RAM。当发生这种情况时,除了你的程序崩溃之外,不会发生任何灾难。

  2. 不是很容易,因为JOptionPane窗口不允许键盘事件进入程序的其余部分。您需要使用自己的窗口类型而不是JOptionPane。然后,您可以使用KeyListener的{​​{1}}。