MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.CubicCurve2D;
import java.awt.geom.Point2D;
import java.awt.geom.QuadCurve2D;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MainClass extends JPanel {

    public MainClass() {
    }

    public void paint(Graphics g) {
        Point2D.Double startQ = new Point2D.Double(50, 75); // Start point
        Point2D.Double endQ = new Point2D.Double(150, 75); // End point
        Point2D.Double control = new Point2D.Double(80, 25); // Control point

        // Points for cubic curve
        Point2D.Double startC = new Point2D.Double(50, 150); // Start point
        Point2D.Double endC = new Point2D.Double(150, 150); // End point
        Point2D.Double controlStart = new Point2D.Double(80, 100); // 1st control
                                                                   // point
        Point2D.Double controlEnd = new Point2D.Double(160, 100); // 2nd control
                                                                  // point

        QuadCurve2D.Double quadCurve; // Quadratic curve
        CubicCurve2D.Double cubicCurve; // Cubic curve

        quadCurve = new QuadCurve2D.Double( // Create quadratic curve
                startQ.x, startQ.y, // Segment start point
                control.x, control.y, // Control point
                endQ.x, endQ.y); // Segment end point

        cubicCurve = new CubicCurve2D.Double( // Create cubic curve
                startC.x, startC.y, // Segment start point
                controlStart.x, controlStart.y, // Control point for start
                controlEnd.x, controlEnd.y, // Control point for end
                endC.x, endC.y); // Segment end point

        Graphics2D g2D = (Graphics2D) g; // Get a 2D device context

        // Draw the curves
        g2D.setPaint(Color.BLUE);
        g2D.draw(quadCurve);
        g2D.draw(cubicCurve);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.getContentPane().add(new MainClass());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 200);
        frame.setVisible(true);
    }
}