繁体   English   中英

如何将Java Applet更改为Windows 8.1的屏幕保护程序?

[英]How do you change a Java Applet into a Screensaver for Windows 8.1?

我一直在尝试为Windows 8.1创建自定义屏幕保护程序。 但是,通过我的研究,我几乎不喜欢这个主题,而且我发现的任何信息已经过时或来自不值得信任的来源。 我已经使用Java大约2年了,但是对于编程而言,我仍然相对较新,也正在使用eclipse作为编译器,请帮忙。 这是我目前拥有的:

    import java.applet.Applet;
    import java.awt.*;
    import java.util.*;
    import java.io.*;

    @SuppressWarnings("serial") 
    public class CatScreenSaver extends Applet  
    {
private int runs;
private Scanner c;
private Scanner c2;
private Font myFont;
private Font error;
private int yLoc;
private boolean dir;
private Random randgen; 
private Color col;  
private int sleep;
private boolean start;
public CatScreenSaver() throws FileNotFoundException 
{
    runs = 0;
    yLoc = 570;
    dir = false;
    c = new Scanner(new File("cat.txt"));
    myFont = new Font("Consolas", 10, 10);
    error = new Font("Consolas", 20, 20);
    c2 = new Scanner(new File("cat2.txt"));
    randgen = new Random(); 
    sleep = 64;
    start=true;     
}   
public void init()
{
    col =Color.LIGHT_GRAY;
    setSize(4000,650);
    setBackground(Color.BLACK); 
}
public void paint(Graphics g)
{
    g.setFont(error);
    g.setColor(Color.red);
    g.drawString("We are experiencing technical difficulties, Please wait...", 250, 50);
    g.drawString("In the mean time enjoy this dancing cat!", 250, 70);
    if(!dir && !start)
    {
        try {
            printCat(g);
        } catch (FileNotFoundException | InterruptedException e) {          
            e.printStackTrace();
        }
    }
    else if(dir && !start)
    {
        try {
            printCat2(g);
        } catch (FileNotFoundException | InterruptedException e) {          
            e.printStackTrace();
        }
    }
    else if(!dir && start)
    {
        try {
            printSCat(g);
        } catch (FileNotFoundException | InterruptedException e) {          
            e.printStackTrace();
        }
    }
    else if(dir && start)
    {
        try {
            printSCat2(g);
        } catch (FileNotFoundException | InterruptedException e) {          
            e.printStackTrace();
        }
    }
}
public void printSCat(Graphics g) throws FileNotFoundException, InterruptedException
{
    g.setColor(col);
    g.setFont(myFont);
    int lines;          
    lines = c.nextInt();
    for(int i = 0; i < lines; i++)
    {
        String str = c.nextLine();              
        g.drawString(str, yLoc, (i*10));                
    }           
    runs++;
    if(runs == 31)
    {
        dir = true;         
        setScan();
    }
    Thread.sleep(sleep);
    repaint();
}
public void printSCat2(Graphics g) throws FileNotFoundException, InterruptedException
{
    g.setColor(col);
    g.setFont(myFont);
    int lines;          
    lines = c2.nextInt();
    for(int i = 0; i < lines; i++)
    {
        String str = c2.nextLine();             
        g.drawString(str, yLoc, (i*10));                
    }           
    runs--;
    if(runs == 0)
    {
        dir = false;            
        setScan();
        start = false;
    }
    Thread.sleep(sleep);
    repaint();
}
public void printCat(Graphics g) throws FileNotFoundException, InterruptedException
{
    g.setColor(col);
    g.setFont(myFont);
    int lines;          
    lines = c.nextInt();
    for(int i = 0; i < lines; i++)
    {
        String str = c.nextLine();              
        g.drawString(str, yLoc, (i*10));                
    }       
    yLoc-=20;       
    runs++;
    if(runs == 31)
    {
        dir = true;
        changeColor();
        setScan();
    }
    Thread.sleep(sleep);
    repaint();
}   
public void printCat2(Graphics g) throws FileNotFoundException, InterruptedException
{
    g.setColor(col);
    g.setFont(myFont);
    int lines;
    lines = c2.nextInt();
    for(int i = 0; i < lines; i++)
    {
        String str = c2.nextLine();             
        g.drawString(str, yLoc, (i*10));                
    }
    runs--;
    yLoc+=20;
    if(runs==0)
    {
        dir = false;
        changeColor();
        setScan();
    }
    Thread.sleep(sleep);            
    repaint();
}
public void changeColor()
{
    int rand = randgen.nextInt(10)-1;
    if(rand==1)
        col = Color.DARK_GRAY;
    else if(rand==2)
        col = Color.green;
    else if(rand==3)
        col=Color.BLUE;
    else if(rand==4)
        col = Color.CYAN;
    else if(rand==5)
        col =Color.MAGENTA;
    else if(rand==6)
        col =Color.YELLOW;
    else if(rand==7)
        col =Color.PINK;
    else if(rand==8)
        col =Color.ORANGE;
    else if(rand==9)
        col =Color.LIGHT_GRAY;
    else
        col =Color.WHITE;
}
public void setScan()throws FileNotFoundException 
{
    c = new Scanner(new File("cat.txt"));
    c2 = new Scanner(new File("cat2.txt"));
}       
}

该代码还使用2个文本文件“打印”到屏幕

要创建独立的GUI应用程序,请使用java swing或(最新)JavaFX,这样您就可以创建独立的Java应用程序,现在您可以在JVM中使用java命令运行gui应用程序。

为了将Java程序设置为在Windows中作为屏幕保护程序运行-您需要打包Java程序(jar),然后创建某种exe / scr,以便可以设置窗口以使用屏幕保护程序来运行。

在下面的链接中找到了快速的Google搜索。 也许您也可以对秋千使用相同的过程。

JavaFX屏幕保护程序

类似问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM