Pages

Thursday, December 30, 2010

Chart in Java

//Java
This example code creates chart with the hlep of jFree chart Library to work with this example you will need jFree chart Library that is available on jFree.org


-Watch video
https://youtu.be/sX0XAROhuiQ
       

import java.awt.Color;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartPanel;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.axis.NumberAxis;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.chart.plot.XYPlot;

import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;

import org.jfree.data.xy.XYDataset;

import org.jfree.data.xy.XYSeries;

import org.jfree.data.xy.XYSeriesCollection;

import org.jfree.ui.ApplicationFrame;

import org.jfree.ui.RefineryUtilities;



public class Main extends ApplicationFrame {



    public Main(final String title) {



        super(title);

        final XYDataset dataset = createDataset();

        final JFreeChart chart = createChart(dataset);

        final ChartPanel chartPanel = new ChartPanel(chart);

        chartPanel.setPreferredSize(new java.awt.Dimension(700, 470));

        setContentPane(chartPanel);

    }



    private XYDataset createDataset() {



       //series no. 1 data elements

        final XYSeries series1 = new XYSeries("First");       

        series1.add(1.0, 1.0);

        series1.add(2.0, 4.0);

        series1.add(3.0, 3.0);

        series1.add(4.0, 5.0);

        series1.add(5.0, 5.0);

        series1.add(6.0, 7.0);

        series1.add(7.0, 7.0);

        series1.add(8.0, 8.0);

      // Series no. 2 data elements

      final XYSeries series2 = new XYSeries("Second");

        series2.add(1.0, 5.0);

        series2.add(2.0, 7.0);

        series2.add(3.0, 6.0);

        series2.add(4.0, 8.0);

        series2.add(5.0, 4.0);

        series2.add(6.0, 4.0);

        series2.add(7.0, 2.0);

        series2.add(8.0, 1.0);

         // Series no. 3 data elements

        final XYSeries series3 = new XYSeries("Third");

        series3.add(3.0, 7.0);

        series3.add(4.0, 4.0);

        series3.add(5.0, 1.0);

        series3.add(6.0, 3.0);

        series3.add(7.0, 6.0);

        series3.add(8.0, 3.0);

        series3.add(9.0, 6.0);

        series3.add(10.0, 4.0);

          // Series no. 4 data elements 

        final XYSeries series4 = new XYSeries("Third");

        series4.add(1.0, 2.0);

        series4.add(2.0, 7.0);

        series4.add(3.0, 8.0);

        series4.add(4.0, 4.0);

        series4.add(7.0, 5.0);

        series4.add(8.0, 2.0);

        series4.add(9.0, 6.0);

        series4.add(10.0, 3.0);

        final XYSeriesCollection dataset = new XYSeriesCollection();

        dataset.addSeries(series1);// add series to dataset

        dataset.addSeries(series2);

        dataset.addSeries(series3);

        dataset.addSeries(series4);               

        return dataset;       

    }

   // createChart() returns chart 

    private JFreeChart createChart(final XYDataset dataset) {

        final JFreeChart chart = ChartFactory.createXYLineChart(

            "Line Chart",     

            "X",                     

            "Y",                     

            dataset,                 

            PlotOrientation.VERTICAL,

            true,                   

            true,                   

            false                   

        ); 

        chart.setBackgroundPaint(Color.white);

        final XYPlot plot = chart.getXYPlot();

        plot.setBackgroundPaint(Color.lightGray);

        plot.setDomainGridlinePaint(Color.white);

        plot.setRangeGridlinePaint(Color.white);       

        final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();

        renderer.setSeriesLinesVisible(0, false);

        renderer.setSeriesShapesVisible(1, false);

        plot.setRenderer(renderer); 

        final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();

        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());                   

        return chart;       

    }

 // main method

    public static void main(final String[] args) {

        final Main chart = new Main("Line Chart");

        chart.pack();

        RefineryUtilities.centerFrameOnScreen(chart);

        chart.setVisible(true);

    }

}
Watch video

Sunday, December 19, 2010

Getting current Date and Time in Java

This example is for Java beginners to learn use of Java Date Format.


-Watch video
https://youtu.be/sX0XAROhuiQ
import java.util.Date;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

public class Main {

    public Main() {

    }

    public static void main(String[] args) {       

         Date today = new Date();

         DateFormat df=new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");

         java.sql.Date date=new java.sql.Date(today.getTime());       

         System.out.println(df.format(date));     

    }   

}
Watch video

Wednesday, December 15, 2010

SQL where clause with date in Java

Using date in where clause with Java is a bit tricky, this example explains it all.


-Watch video
https://youtu.be/sX0XAROhuiQ
import java.sql.Connection;     

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

import java.sql.ResultSet;

public class WhereClause {   

    public static void main(String[] args) {

       try {         

            Statement stmt;

            Connection con;

              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

              con = DriverManager.getConnection("jdbc:odbc:DBNAME",null,null);

              stmt=con.createStatement();         

              ResultSet rs=stmt.executeQuery("Select * from Job_Status where Date ="+"#2010-11-27#");

            while( rs.next() )

        {       

         String str1= rs.getString("Date");

         System.out.println(str1);

      }

      stmt.close();

      con.close();

        }

        catch (Exception e) {

      System.out.println(e);

      return;

        }

    }

}
Watch video

Tuesday, November 30, 2010

Reading and writing(To Database) data from comm port in Java

This code reads data from comm port and writes it to the data base(MS-Access) to work with this code you may need javax.comm library, this code works with 8051 micro-controller, this code first writes 0x80(128) to comm port and my code in assembly sends it back 0x32(50). and then the code sends 7 bits more with 0x70 to terminate the communication, This code is written with NetBeans IDE you can change accordingly your IDE.


import java.io.*;
import java.util.*;
import javax.comm.*;
import java.sql.Connection;
import  java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class Fms implements Runnable{
    static Enumeration portList;
    static CommPortIdentifier portId;
    static SerialPort serialPort;
    static OutputStream outputStream;
    static InputStream inputStream;
    static Thread readThread,dataBase;
    static int crf;
    static int cwf;
    static byte cxc[] = new byte[4];
    static int cxm = 128;//0x80
    static byte[] creadBuffer;//1byte read
    static int creadBuff[];
    write rt=new write();
    static read rd;

     public void run() {
     };

    public static void main(String[] args) {

        int a=10;
        write wr = new write();
        read rd = new read(1);
       
        int speed=0,tcount=0,jcount=0,status=0;
     
            try{
        wr.cwritemain(a);
         rd.cmainx(a);         
         readThread.sleep(1000);
            }
            catch(Exception e){
               
            }
            if(j==0){
                status =creadBuff[1];
                jcount =creadBuff[5];
          System.out.println("results : "+status +"\t"+jcount);
            }
            if(j==1){
                speed =creadBuff[1]*256+creadBuff[2];
                tcount =creadBuff[6];
          System.out.println("results : "+speed +"\t"+tcount);
            }     
          try{                
                ResultSet rs;
            Statement stmt;
            Connection con;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con = DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Documents and Settings\\accounts\\My Documents\\FMSDB.mdb");
      stmt=con.createStatement();
      stmt.executeUpdate("INSERT INTO Job_Status (Speed,Job_Count, Total_Count)" + "VALUES('"+speed+"','"+jcount+"','"+tcount+"')" );
     // rs=stmt.executeQuery("Select * from Job_Status where Date = '27-11-2010'" );
      stmt.close();
      con.close();
       }     
         catch(Exception e1) 
      { 
             System.out.println(e1);
      }
     
    }
   static class write{       
         public void cwritemain(int m)
  {
          //   System.out.println("in cwritemain");
             cwf = m;
             cxc[0] = 0x26;
             portList = CommPortIdentifier.getPortIdentifiers();
             System.out.println(portList.hasMoreElements());

   while (portList.hasMoreElements()) {
                                    //    System.out.println("in while");
                                        portId = (CommPortIdentifier) portList.nextElement();
                                        if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                                      //  System.out.println("in port");
     if (portId.getName().equals("COM1"))
     {
                                     //   System.out.println("in com");
      try {
       serialPort = (SerialPort) portId.open("SimpleWriteApp32", 2000);
                                                     //   System.out.println("in open");
      } catch (PortInUseException e) {
      }
      try {
       outputStream = serialPort.getOutputStream();
      } catch (Exception e) {
      }
      try {
       serialPort.setSerialPortParams(9600,
         SerialPort.DATABITS_8,
         SerialPort.STOPBITS_1,
         SerialPort.PARITY_NONE);
      } catch (Exception e) {
      }
                                               if(cwf==10){
       try {
       // System.out.println("in 400");
        outputStream.write(cxm);// 0x80 written
        //System.out.println("0x80 is written");
        serialPort.close();
                                                                outputStream.close();
        
       } catch (Exception e) {
       }
                                               }
                                        }
                                }
                        }
         }
       
    }

   static class read implements SerialPortEventListener{
      public read(int s) {

  }
      public void cmainx(int cp) {
   crf = 10;

   portList = CommPortIdentifier.getPortIdentifiers();

   while (portList.hasMoreElements()) {

    portId = (CommPortIdentifier) portList.nextElement();
    if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
     if (portId.getName().equals("COM1")) {
      try {
                                                    serialPort = (SerialPort) portId.open("readapp32",
         2000);
      } catch (PortInUseException e) {
       System.out.println(e.getMessage());
      }
      try {
       inputStream = serialPort.getInputStream();
       // System.out.println("ready reading");
      } catch (Exception e) {
       System.out.println(e);
      }
      try {
       serialPort.addEventListener(this);
      } catch (Exception e) {
       System.out.println(e);
      }
      serialPort.notifyOnDataAvailable(true);
      try {
       serialPort.setSerialPortParams(9600,
         SerialPort.DATABITS_8,
         SerialPort.STOPBITS_1,
         SerialPort.PARITY_NONE);
                                                     //   System.out.println("Kam rady hai!!!");
      } catch (Exception e) {
       System.out.println(e);
      }
     }
    }
   }                     
  }
        public void serialEvent(SerialPortEvent event) {
             //System.out.println("Kam rady hai bhai!!!");
           
            switch (event.getEventType()) {
   case SerialPortEvent.DATA_AVAILABLE:
    creadBuffer = new byte[8];
                                creadBuff= new int[8];
    try {
                                   int i = 0;
                             
     while (inputStream.available() > 0) {
   
      
                                          creadBuff[i]=inputStream.read();
                                          System.out.println("Data available is: "+creadBuff[i]);
                                        //       if(i==1)
                                          //     System.out.println("Data available is: "+creadBuff[1]*256);
                                               
                                               i++;
     }
                                      inputStream.close();
    } catch (IOException e) {
    }
                                System.out.println("event");
    System.out.println("recieved \t"+creadBuffer[0] );

    if (creadBuffer[0] == 0x70) {
                                    System.out.println("Mil gaya 0x70"+creadBuffer[0] );
     serialPort.close();
     rd = new read(5);
     rd.cmainx(1);// ag
                                }
                                if (creadBuffer[0] == 0x32) {
                                    System.out.println("Mil gaya"+creadBuffer[0] );
     serialPort.close();                               
                                }
                                serialPort.close();
            }
        }
   } 
   }
Watch video