Desenhar Eixos (X e Y) - Legendas

Estou a fazer um programa que visa criar parábolas e desenhá-las e para tal preciso de ter os eixos das coordenadas.

Já fiz um método para criar os eixos e uma JFrame para desenhar uma janela e no seu conteúdo os eixos, conforme aparece abaixo:

(…)
// draw a trivial xx axis
Point2D.Double pMinX = new Point2D.Double(x1, 0);
Point2D.Double pMaxX = new Point2D.Double(x2, 0);
Line2D.Double xAxis = new Line2D.Double(transform(pMinX), transform(pMaxX));
g2.draw(xAxis);

//draw a trivial yy axis
Point2D.Double pMinY = new Point2D.Double(0, p.minValue(x1, x2));
Point2D.Double pMaxY = new Point2D.Double(0, p.maxValue(x1, x2));
Line2D.Double YAxis = new Line2D.Double(transform(pMinY), transform(pMaxY));
g2.draw(YAxis);
(…)


//Criar a janela
final int WIDTH = 400;
final int HEIGHT = 400;

	JFrame frame = new JFrame();
	frame.setSize (WIDTH,HEIGHT);
	frame.setTitle("Título");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	ParabolaZerosComponent component = new ParabolaZerosComponent(1, -2, -5, -50, 50); //valores para a, b, c, x1, x2
	frame.add(component);
	
	frame.setVisible(true);
}

O meu problema agora é que preciso que os eixos tenham as legendas dos valores bem como as setinhas no fim do eixo das coordenadas e estou farta de pesquisar mas não encontro nada, alguém me consegue ajudar?

obrigada

Quanto a imprimir a string, você pode tentar usar esse método:

Quanto as setas você tem duas opções:
1 - Usar o drawString para os símbolos “^” e “>”, nas suas devidas posições
2 - Pegar uma figura que contenha os eixos e desenhar apenas a parábola
Eu fiz algo parecido recentemente, meu programa desenhava retângulos sobre uma imagem. Vou postar o código pra ver se ajuda:


public class MeuPanel extends JPanel {

private BufferedImage imagem;
...
@Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        int height = getHeight();
        int width = getWidth();
        g2d.setColor(Color.ORANGE);
        if (imagem != null) {
           g2d.drawImage(imagem, 0, 0, width, height, this);

            for (Coordenada coordenada : config.getCoordenadas()) {
                g2d.draw(CoordenadaUtil.coord2Rect(coordenada));
                //poderia usar o g2d.drawString aqui para exibir as coordenadas 
            }
        }
        else {
            g2d.setColor(Color.WHITE);
            g2d.fillRect(0, 0, width, height);
        }
    }
}