@Override protected void paintComponent(Graphics g) { super.paintComponent(g); graphicSpace = (Graphics2D) g; graphicSpace.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // something to draw if (!dataPoints.isEmpty()) { // Step 1: create data model createDataPoints(); // Step 2: draw drawDots(); drawAxes(); drawLinesBetweenDataPoints(); } else { graphicSpace.drawString("No data available!", (PANEL_WITDH / 2) - 40, PANEL_HIGTH / 2); } }