Desenhando uma linha com seta em Java

Alguém pode me orientar como codificar a linha da seta na direção diferente. wa e wl é positivo, o retângulo estará no topo do eixo x. Abaixo, exemplo mostrado se wl é negativo e wa é positivo. O código abaixo mostra como eu codifico a forma do retângulo. x1 é o variável para indicar por onde começar no eixo x. e1 é o comprimento da forma, wa1 e wl1 é a altura. wsign para determinar a altura wa1 ou wl1 deve ser exibido no lado negativo ou no lado positivo.

        if (Math.abs(wl1) > Math.abs(wa1)) {
            y_scale = (load_y0 - 40) / (double) Math.abs(wl1);
        } else {
            y_scale = (load_y0 - 40) / (double) Math.abs(wa1);
        }
        g.drawLine((int) ((double) x0 + x1 * x_scale), (int) (load_y),
                    (int) ((double) x0 + x1 * x_scale),
                    (int) (load_y + (wa1 * y_scale) * -1));
            g.drawLine((int) ((double) x0 + (x1 + e1) * x_scale),
                    (int) (load_y), (int) ((double) x0 + (x1 + e1)
                            * x_scale), (int) (load_y + (wl1 * y_scale)
                            * -1));

            g.drawLine((int) ((double) x0 + x1 * x_scale),
                    (int) (load_y + (wa1 * y_scale * -1)),
                    (int) ((double) x0 + (x1 + e1) * x_scale),
                    (int) (load_y + (wl1 * y_scale) * -1)); 

questionAnswers(2)

yourAnswerToTheQuestion