Monday, October 18, 2010

Java source code of NoCaption


import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.lang.*;
import java.util.Properties;

public class NoCaption {
   public static void main(String[] args) {
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      // no title bar
      frame.setUndecorated(true);

      frame.setAlwaysOnTop( true );

      frame.getContentPane().setBackground(Color.BLACK);

      // set size and location
      Toolkit toolkit = Toolkit.getDefaultToolkit();
      Dimension scrnsize = toolkit.getScreenSize();

      int scrnH = (int)scrnsize.getHeight();
      int scrnW = (int)scrnsize.getWidth();

      try {
         Properties prop = new Properties();

         InputStream is = new FileInputStream(fileName);

         prop.load(is);

         locX = Integer.parseInt(prop.getProperty("locationX"));
         locY = Integer.parseInt(prop.getProperty("locationY"));
         frmW = Integer.parseInt(prop.getProperty("frameWidth"));
         frmH = Integer.parseInt(prop.getProperty("frameHeight"));

         is.close();
      } catch (Exception x) {
         locX = scrnW/6;
         locY = scrnH-scrnH/3;
         frmW = scrnW*2/3;
         frmH = scrnH/8;
      }

      frame.setLocation(locX, locY);
      frame.setSize(frmW, frmH);

      // mouse handler
      frame.addMouseListener(new MouseAdapter() {
         public void mousePressed(MouseEvent e) {
            origin.x = e.getX();
            origin.y = e.getY();
         }

         public void mouseClicked(MouseEvent e) {
            // double right click to exit
            if (e.getClickCount() >= 2 && MouseEvent.BUTTON3 == e.getButton()) {
               // Save config.
               try {
                  Properties prop = new Properties();

                  Point pnt = frame.getLocation();
                  prop.setProperty("locationX", String.valueOf((int)pnt.getX()));
                  prop.setProperty("locationY", String.valueOf((int)pnt.getY()));
                  prop.setProperty("frameWidth", String.valueOf(frmW));
                  prop.setProperty("frameHeight", String.valueOf(frmH));

                  OutputStream os = new FileOutputStream(fileName);

                  prop.store(os, "");

                  os.close();
               } catch (Exception x) {}

               System.exit(0);
            }
         }
      });

      frame.addMouseMotionListener(new MouseMotionAdapter() {
         public void mouseDragged(MouseEvent e) {
            Point p = frame.getLocation();
            frame.setLocation(p.x + e.getX() - origin.x, 
                          p.y + e.getY() - origin.y);
         }
      });

      frame.setVisible( true );
   }

   static private Point origin = new Point();
   static private JFrame frame = new JFrame();

   static private String fileName = "nocaption.config";

   static private int locX;
   static private int locY;
   static private int frmW;
   static private int frmH;
}

No comments:

 
Get This <