Gente, tem como eu colocar um componente do tipo Graphics dentro de um JLabel?
Eu tenho o seguinte código:
bfCinza = new BufferedImage(bf.getWidth(), bf.getHeight(), BufferedImage.TYPE_INT_RGB );
Graphics gr = bfCinza.createGraphics();
gr.setColor( Color.GRAY);
gr.fillRect( 0, 0, mapWidth+400, mapHeight+400);
tem como colocar tudo isso dentro de um JLabel?
Aproveintando a deixa, alguém sabe se quando eu escrevo mapWidth+400, significa que a largura vai ter 400 px a mais do mapWidth?
Obrigada
O Graphics2D tem um pouco mais de recursos, e é ele que é retornado pelo createGraphics().
O Graphics2D, assim como Streams e ResultSetsprecisa ser liberado da memória manualmente. Ele usa recursos do sistema operacional (do OpenGL ou do DirectX), que não podem depender do garbage collector para serem liberados. Por isso, sempre que terminar de usar um objeto do tipo Graphics ou Graphics2D, você deve dar o dispose().
Não se preocupe. O Graphics2D é apenas o “lápis” que desenha sobre a imagem. E destruí-lo não irá destruir a imagem em si.