Muito obrigado ViniGodoy, mas não deu certo.
Vou mandar o código:
public class JuncaoPainel extends JFrame {
private JPanel dadosP, fundoP;
private PainelDesenho desenhosP;
public JuncaoPainel() throws IOException {
setTitle("Computação Gráfica - TP1");
// é declarado null para dar liberdade para posicioná-los
dadosP = new JPanel(null);
desenhosP = new PainelDesenho();
fundoP = new JPanel(null);
// coloca o novo tamanho dos paineis e os posiciona
dadosP.setBounds(0, 0, 400, 300);
desenhosP.setBounds(400, 0, 400, 300);
desenhosP.setBackground(Color.white);
fundoP.setBackground(new Color(0, 142, 222));
// cria um tipo de borda
Border b1 = new LineBorder(Color.black, 2);
// coloca borda nos paineis
desenhosP.setBorder(b1);
dadosP.setBorder(b1);
// adiciona os paineis no frame
add(fundoP);
fundoP.add(dadosP);
fundoP.add(desenhosP);
// para visualisar os panels
desenhosP.setVisible(true);
dadosP.setVisible(true);
BufferedImage imagem = new BufferedImage(desenhosP.getWidth(), desenhosP.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics = imagem.createGraphics();
desenhosP.paintComponent(graphics);
graphics.dispose();
ImageIO.write(imagem, "jpg", new File("painel.jpg"));
}
}
Essa classe pinta o alguns desenhos no painel
public class PainelDesenho extends JPanel {
public PainelDesenho(){
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
setForeground(Color.blue);
g.fillRect(0, 0, 50, 50);
setForeground(Color.green);
g.fillRect(50, 50, 100, 100);
setForeground(Color.red);
g.fillOval(100, 100, 150, 150);
}
}
Sai apenas uma imagem meio laranja na imagem de saída.
Se alguém puder me ajudar, agradeço!!!