[Java] Need to learn the basics of Java fast.

Well here is an example of Paint with a GUI in Swing:

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.ArrayList;

public class DrawPanel extends JPanel{

    private ArrayList<Point> mP;

    public DrawPanel(){
        setBackground(Color.WHITE);

        mP = new ArrayList<>();

        addMouseListener(new MouseAdapter(){
            @Override
            public void mousePressed(MouseEvent event){
                mP.add(event.getPoint());
                repaint();
                requestFocus();
            }
        });

        addMouseMotionListener(new MouseMotionAdapter(){
            @Override
            public void mouseDragged(MouseEvent event){
                mP.add(event.getPoint());
                repaint();
            }
        });
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);

        for (Point mP1 : mP) {
            g.setColor(Color.BLACK);
            g.fillOval(mP1.x - 4, mP1.y - 4, 6, 6);
        }
    }

    public static void main(String[] args){
        DrawPanel myCanvas = new DrawPanel( );

        JFrame gF = new JFrame();
        gF.setSize(300,300);
        gF.setTitle("Paint Example");
        gF.setLayout(new BorderLayout());
        gF.add(myCanvas, BorderLayout.CENTER);
        gF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gF.setVisible(true);
    }
}

This is fairly simple, just store Points and display then with the repaint(), you can also store a color array if you wanted to have multi color points.

/r/learnprogramming Thread Parent