Bom pessoal, agora estou na fase de implementar o zoom no meu programa. Basicamente eu faço uso do Graphics2D.scale(zoom,zoom). Ele faz o zoom bonito, o único problema é que ele ta redimensionado o tamanho do meu panel. Até faz sentido, porque scale é pra redimensionar mesmo, mas eu não acho outra forma de implementar o zoom sem alterar o tamanho do panel.
paintComponent:
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.scale(zoom,zoom);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
fundo.desenharFundo(g2d,this);
if(comando != null)
{
System.out.println("Desenhando ferramenta");
comando.desenhar(g);
}
desenharFormas(g2d);
g2d.dispose();
}
Deixei uma ss do problema pra vocês entenderem melhor. Como vocês podem ver, meu panel está dentro do JInternalFrame, e a ss foi tirada após aplicar o zoom in uma vez, o fundo branco é o tamanho do panel depois do zoom, a borda cinza é o quanto diminuiu. Obrigado.
