2015-05-06 27 views
1

我一直在嘗試一段時間來爲Windows 8.1創建自定義屏幕保護程序。然而,通過我的研究,我對這個問題幾乎沒有任何興趣,我發現的任何信息都已經過時,或者來自不值得信任的來源。我已經使用了大約2年的Java,但是對於編程來說我還是比較新的,我也使用eclipse作爲編譯器,請大家幫忙。 這裏是我目前:如何將Java Applet更改爲Windows 8.1的屏幕保護程序?

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個文本文件「打印」到屏幕

+0

你爲什麼要使用小程序的屏幕保護程序?你是否試圖在Web瀏覽器中運行屏幕保護程序?你想做什麼? –

+0

我試圖讓我自己的屏幕保護程序的Windows 8.1將出現後幾分鐘的不活動狀態,就像我之前說的,我仍然是編程新手,所以我開始使用我熟悉的東西,那就是Java Applet。另外我不想在網絡瀏覽器中運行屏幕保護程序。 – djwildmutt

回答

1

創建獨立的GUI應用程序,請使用的Java Swing或(最新)的JavaFX,那麼你將能夠創建獨立的Java應用程序,現在您可以在JVM內使用java命令運行gui應用程序。

爲了設置你的Java程序在Windows中作爲屏幕保護程序運行 - 你需要打包java程序(jar)然後創建一些exe/scr,以便你可以設置窗口來使用你的屏保運行。

快速谷歌搜索下面找到鏈接。也許你可以使用與swing相同的過程。

JavaFX Screensaver

Similiar question

+0

謝謝我會試試看看它是否有效。 – djwildmutt

相關問題