Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package jason.jeditplugin;
  
  import java.awt.Dimension;
  import java.awt.Toolkit;
 import java.net.URL;
 
 
 public class CheckVersion extends Thread {
 
     public static final String JasonSite = "http://jason.sf.net";
     String download;
     
     String version;
     String release
     
     String getLatestVersion() {
         // read version from Jason site
         try {
             Properties p = new Properties();
             p.load(new URL(+"/latest.properties").openStream());
              = p.getProperty("download");
              = p.getProperty("version");
              = p.getProperty("release");
             return  + "." + ;
         } catch (Exception ex) {
             ..println(ex);
             return null;
         }
     }
 
     boolean isLatestVersion() {
         // get user version
         String cVersion = Config.get().getJasonRunningVersion();
         String lv = getLatestVersion();
         return lv == null || cVersion.compareTo(lv) >= 0;
     }
 
     String whatsNew() {
         try {
             StringBuilder out = new StringBuilder();
             InputStream in = new URL(+"/whatsnew.txt").openStream();
             int c = in.read();
             while (c != -1) {
                 out.append((charc);
                 c = in.read();
             }
             return out.toString();
         } catch (Exception e) {
             ..println("Error reading what's new!" + e);
             return null;
         }
     }
 
     void show() {
         final JFrame f = new JFrame("Jason update");
         f.setLayout(new BorderLayout());
 
         JTextArea ta = new JTextArea(20, 90);
         f.add(.,new JScrollPane(ta));
         
         JPanel sp = new JPanel(new FlowLayout(.));
         //JButton notShow = new JButton("Do not show this message again.");
         JButton ok = new JButton("Ok");
         ok.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent arg0) {
                 f.setVisible(false);            }
         });
         JButton notShow = new JButton("Do not show this message again");
         notShow.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent arg0) {
                 f.setVisible(false);
                 Config.get().setProperty(.,"false");
                 Config.get().store();
             }
         });
         sp.add(ok);
         sp.add(notShow);
         f.add(.sp);
         f.pack();
         
         ta.append("A new version of Jason (" + getLatestVersion() + ") is available at\n\n");
         ta.append("      "++"\n\n");
         String wn = whatsNew();
         if (wn != null) {
             ta.append("\nRelease notes:\n");
             ta.append(wn);
         }
 
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        f.setLocation((int)( (screenSize.width - f.getWidth()) / 2),(int) ((screenSize.height - f.getHeight())/2));
        f.setVisible(true);
    }
    static boolean alreadyRun = false;
    public void run() {
        // to avoid this thread to run twice
        if (return;
         = true;
        
        try {
            if (Config.get().getProperty(.,"true").equals("true")) {
                if (!isLatestVersion()) {
                    show();
                }
            }
        } catch (Exception e) { }
    }
    public static void main(String[] a) {
        CheckVersion cv = new CheckVersion();
        cv.start();
    }
New to GrepCode? Check out our FAQ X