//package screensaver; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; //import asteroids.*; public class LinuxScreen extends JFrame { java.util.Timer t=new java.util.Timer(); public LinuxScreen(GraphicsConfiguration gc) { super(gc); setUndecorated(true); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); setLayout(new GridLayout(5,5,2,2)); getContentPane().addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent me) {System.exit(0);} }); //getContentPane().setCursor(FontTools.getInvisibleCursor()); for(int i=0;i<25;i++) { JPanel temp=new FadePanel(); add(temp); t.schedule(new RepaintTask(temp),0,Math.round(Math.random()*30)+20); } setSize(gc.getBounds().getSize()); setLocationRelativeTo(null); validateTree(); } public class RepaintTask extends TimerTask { int dc=(int)(Math.round(Math.random())*2)-1; int clr=(int)Math.round((Math.random()*64))+128-32; JComponent jc; public RepaintTask(JComponent toRepaint) {jc=toRepaint;} @Override public void run() { jc.setBackground(new Color(clr,clr,clr)); jc.repaint(); if(clr==128-32)dc=1; if(clr==128+32)dc=-1; clr+=dc; } } public class FadePanel extends JPanel { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); } } public static void main(String[] args) { GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice gd=ge.getDefaultScreenDevice(); if(!gd.isFullScreenSupported()) System.exit(0); LinuxScreen instance=new LinuxScreen(gd.getDefaultConfiguration()); gd.setFullScreenWindow(instance); instance.setVisible(true); } }