Como usar um setSize negaivo?

2 respostas
thiagomartendal

Pessoal, tenho um código que desenha uma JPanel, só que quando eu movo o mouse para cima a JPanel não é desenhada, o que eu faço?

Segue o código:

private JPanel quadrado = new JPanel();
private int X1,Y1,X2,Y2;
    
private void formMousePressed(java.awt.event.MouseEvent evt) {                                  
        X1 = evt.getX();
        Y1 = evt.getY();
}                                 

private void formMouseDragged(java.awt.event.MouseEvent evt) {                                  
        X2 = evt.getX();
        Y2 = evt.getY();
        quadrado.setLocation(X1, Y1);
        quadrado.setBackground(Color.white);
        quadrado.setBorder(BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        quadrado.setSize(X2-X1, Y2-Y1);
        this.add(quadrado);
}

2 Respostas

D

Troque o x1 com x2 quando x2-x1<0 e com y também.

thiagomartendal

Eu tentei usar sua lógica mas não deu certo. Ele desenho o quadrado para um lado oposto.

Criado 9 de fevereiro de 2016
Ultima resposta 9 de fev. de 2016
Respostas 2
Participantes 2