Tuesday, August 19, 2014

JAVA OOP Concepts Demo - Encapsulation and Polymorphism (Overloading)

// Object Oriented Programming Principles
//
//      1. Encapsulation - A process of combining the data and functions that  manipulates the data.
//
//                Encapsulation = Data + Functions
//
//                Java Implementation  :
//                    Class = Variables + Methods
//
//      2. Polymorphism - one interface, multiple methods
//            
//                Java Implementation - Overloading :
//                     Define two or more methods with the same name but different signatures
//                     in the same class.

====================================================================
package encapsulation.and.overloading;

public class Point {
    private int x;
    private int y;
   
    public Point() {
        x = y =  0;
    }
   
    public Point(int x, int y) {
        setX(x);
        setY(y);
    }
   
    public void setX(int x) {
        this.x = x;
    }
   
    public void setY(int y) {
        this.y = y;
    }
   
    public int getX() {
        return x;
    }
   
    public int getY() {
        return y;
    }
   
    public void move() {
        x++;
        y++;
    }
   
    public void move(int distance) {
        x += distance;
        y += distance;
    }
   
    public void move(int xdistance, int ydistance) {
        x += xdistance;
        y += ydistance;
    }
}

Monday, August 18, 2014

JAVA GUI DEMO - Layouts and Adding Components


Demo 1 - Using FlowLayout
package guidemosettinglayoutandaddingcomponents;

import java.awt.FlowLayout;
import javax.swing.*;

public class Main extends JFrame {
    private JButton button1, button2, button3, button4, button5, button6;

    public Main() {
        setTitle("Layout Setting and Adding Components");
        setSize(400, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // setting the layout

        setLayout(new FlowLayout());   

        // creating components

        button1 = new JButton("Button 1");
        button2 = new JButton("Button 2");
        button3 = new JButton("Button 3");
        button4 = new JButton("Button 4");
        button5 = new JButton("Button 5");
        button6 = new JButton("Button 6");

        // adding components to container

        add(button1);
        add(button2);
        add(button3);
        add(button4);
        add(button5);
        add(button6);

        setVisible(true);
    }

    public static void main(String[] args) {
        Main frame = new Main();
    }
}

Demo 2 - Using BorderLayout
package guidemosettinglayoutandaddingcomponents;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.*;

public class Main extends JFrame {
    private JButton button1, button2, button3, button4, button5;

    public Main() {
        setTitle("Layout Setting and Adding Components");
        setSize(400, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // setting the layout

        setLayout(new BorderLayout());

        // creating components

        button1 = new JButton("Button 1");
        button2 = new JButton("Button 2");
        button3 = new JButton("Button 3");
        button4 = new JButton("Button 4");
        button5 = new JButton("Button 5");
       
        // adding components to container

        add(button1, BorderLayout.NORTH);
        add(button2, BorderLayout.CENTER);
        add(button3, BorderLayout.SOUTH);
        add(button4, BorderLayout.WEST);
        add(button5, BorderLayout.EAST);
                
        setVisible(true);
    }

    public static void main(String[] args) {
        Main frame = new Main();
    }
}


Demo 3 - Using GridLayout
package guidemosettinglayoutandaddingcomponents;

import java.awt.GridLayout;
import javax.swing.*;

public class Main extends JFrame {
    private JButton button1, button2, button3, button4, button5, button6;

    public Main() {
        setTitle("Layout Setting and Adding Components");
        setSize(400, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // setting the layout

        setLayout(new GridLayout(2,3));

        // creating components

        button1 = new JButton("Button 1");
        button2 = new JButton("Button 2");
        button3 = new JButton("Button 3");
        button4 = new JButton("Button 4");
        button5 = new JButton("Button 5");
        button6 = new JButton("Button 6");

        // adding components to container

        add(button1);
        add(button2);
        add(button3);
        add(button4);
        add(button5);
        add(button6);

        setVisible(true);
    }

    public static void main(String[] args) {
        Main frame = new Main();
    }
}

JAVA GUI Demo 1 - Addition of two Numbers


package guidemo1additionoftwonumbers;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Main extends JFrame implements ActionListener {

    private JTextField n1TextField, n2TextField, sumTextField;
    private JButton computeButton, clearButton;

    public Main() {
        setTitle("Addition");
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new GridLayout(4, 2, 5, 10));
        n1TextField = new JTextField(10);
        n2TextField = new JTextField(10);
        sumTextField = new JTextField(10);
        sumTextField.setEditable(false);

        computeButton = new JButton("Compute");
        clearButton = new JButton("Clear");

        computeButton.addActionListener(this);
        clearButton.addActionListener(this);

        add(new JLabel("N1"));
        add(n1TextField);
        add(new JLabel("N2"));
        add(n2TextField);
        add(new JLabel("Sum"));
        add(sumTextField);
        add(computeButton);
        add(clearButton);

        pack();
        setVisible(true);


    }

    public static void main(String[] args) {
        Main frame = new Main();
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("Compute")) {
            int n1, n2, sum;
            try {
                n1 = Integer.parseInt(n1TextField.getText());
                try {
                    n2 = Integer.parseInt(n2TextField.getText());
                    sum = n1 + n2;
                    sumTextField.setText(String.valueOf(sum));
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(this, "Invalid Input for N2!", "Error Message", JOptionPane.ERROR_MESSAGE);
                    n2TextField.requestFocus();
                }
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(this, "Invalid Input for N1!", "Error Message", JOptionPane.ERROR_MESSAGE);
                n1TextField.requestFocus();
            }
        } else if (e.getActionCommand().equals("Clear")) {
            n1TextField.setText(null);
            n2TextField.setText(null);
            sumTextField.setText(null);
        }
    }
}

Sunday, August 17, 2014

JAVA GUI DEMO - Creating a Container

Creating a Container - Method 1

package javaguidemomethod1;

import javax.swing.*;

public class Main {

    public static void main(String[] args) {
        JFrame frame = new JFrame();                              
        frame.setTitle("My First GUI Application - Method 1");    
        frame.setSize(400,500);                                   
        frame.setLocationRelativeTo(null);                                   
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     
        frame.setVisible(true);                                   
    }
}



Creating a Container - Method 2

package javaguidemomethod2;

import javax.swing.*;

public class Main extends JFrame {

    public Main() {
        setTitle("My First GUI Application - Method 2");
        setSize(400, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    public static void main(String[] args) {
        Main frame = new Main();
    }
}

Sunday, August 10, 2014

JAVA OOP Concepts Demo - Association & Inheritance Relationships and Static Variables & Methods

public class Person {
   private String name;
   private int age;
   private static int counter = 0;

   public Person() {
      counter++;
   }

   public Person(String name, int age) {
       this.name = name;
       this.age = age;
       counter++;
   }

   public static int getCounter() {
       return counter;

   }
   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public void setAge(int age) {
       this.age = age;
   }

   public int getAge() {
       return age;
   }

   public void showInfo() {
       System.out.println("Name : " + name);
       System.out.println("Age  : " + age);
   }
}

----------------------------------------------------------------------------------------------------------

public class Student extends Person {
   private String idno;
   private String course;
   private Subject subject;

   public Student() {

   }
   public Student(String idno, String name, String course, int age, Subject subject) {
       super(name, age);
       this.idno = idno;
       this.course = course;
       this.subject = subject;
   }

   public void setSubject(Subject subject) {
       this.subject = subject;
   }

   public Subject getSubject() {
       return subject;
   }

   public void setIdno(String idno) {
       this.idno = idno;
   }



   public void setCourse(String course) {
       this.course = course;
   }

   public String getIdno() {
       return idno;
   }

   public String getCourse() {
       return course;
   }

   public void showInfo() {
       System.out.println("Idno : " + idno);
       super.showInfo();  
       System.out.println("Course : " + course);
       subject.showInfo();
   }
}


----------------------------------------------------------------------------------------------------------

public class Subject {

    private String subjcode;
    private String subjdesc;
    private double units;

    public Subject() {
    }

    public Subject(String subjcode, String subjdesc, double units) {
        this.subjcode = subjcode;
        this.subjdesc = subjdesc;
        this.units = units;
    }

    public void setSubjcode(String subjcode) {
        this.subjcode = subjcode;
    }

    public void setSubjdesc(String subjdesc) {
        this.subjdesc = subjdesc;
    }

    public void setUnits(double units) {
        this.units = units;
    }

    public String getSubjCode() {
        return subjcode;
    }

    public String getSubjDesc() {
        return subjdesc;
    }

    public double getUnits() {
        return units;
    }

    public void showInfo() {
        System.out.println("Subject code        : " + subjcode);
        System.out.println("Subject description : " + subjdesc);
        System.out.println("Units               : " + units);
    }
}
-----------------------------------------------------------------------------------------------------------

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
       Scanner kb = new Scanner(System.in);
       Student student1 = new Student();
       Person p = new Person();
       Subject cs207 = new Subject();
       Subject math1 = new Subject("Math 1", "Algebra", 3);
       Student student2 = new Student("34342", "Calvin","CS",20,cs207);

        System.out.println("The number of person is " + Person.getCounter());

        System.out.println("Enter idno : ");
        student1.setIdno(kb.nextLine());
        System.out.println("Enter name : ");
        student1.setName(kb.nextLine());
        System.out.println("Enter Age : ");
        student1.setAge(kb.nextLine());
        System.out.println("Enter course : ");
        student1.setCourse(kb.nextLine());     


       student1.setSubject(math1);

       cs207.setSubjcode("CS207");
       cs207.setSubjdesc("Object Oriented Programing");
       cs207.setUnits(3);

       student1.showInfo();
       student2.showInfo();
    }
}