Como fazer para usar XML para guardar a posição de um objeto?

Preciso recuperar alguns objetos de um JPanel e mostralos num outro formato nas mesmas posições. Para isso pretendo gerar o XML do JPanel e depois salvar em um outro formato.
Não tenho muita experiência com XML, mas é possivel armazenar esta informação no XML?

Sim. Procure um framework que transofrm objetos em XML.

Rode este programa. Ele mostra um botão “OK”. Aperte-o, ele gera um arquivo “hello.xml”.

import java.awt.*;
import java.awt.event.*;
import java.beans.XMLEncoder;
import java.io.*;
import javax.swing.*;

public class Hello extends JFrame {
	public Hello ( ) throws IOException {
		super("Hello World with Swing");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JButton bOK = new JButton("OK");
		getContentPane().add(bOK);
                bOK.addActionListener (new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        try {
                            XMLEncoder xe = new XMLEncoder (new BufferedOutputStream (
                                new FileOutputStream ("hello.xml")));
                            xe.writeObject (Hello.this);
                            xe.close();
                        } catch (IOException ex) {
                        }
                    }
                });
	}
	public static void main (String[] args) throws IOException {
		Hello ret = new Hello();
		ret.pack();
		ret.setVisible(true);
	}
}

Na minha máquina, sem modificar o tamanho, o arquivo teste.xml gerado foi:

<?xml version="1.0" encoding="UTF-8"?>
&lt;java version="1.4.2_06" class="java.beans.XMLDecoder"&gt;
 &lt;object class="Hello"&gt;
  &lt;void property="size"&gt;
   &lt;object class="java.awt.Dimension"&gt;
    &lt;int&gt;127&lt;/int&gt;
    &lt;int&gt;60&lt;/int&gt;
   &lt;/object&gt;
  &lt;/void&gt;
  &lt;void property="visible"&gt;
   &lt;boolean&gt;true&lt;/boolean&gt;
  &lt;/void&gt;
  &lt;void property="name"&gt;
   &lt;string&gt;frame0&lt;/string&gt;
  &lt;/void&gt;
 &lt;/object&gt;
&lt;/java&gt;

Experimentei então alterar o tamanho da janela com o mouse, e então criar novamente hello.xml. Veja a diferença abaixo.

<?xml version="1.0" encoding="UTF-8"?>
&lt;java version="1.4.2_06" class="java.beans.XMLDecoder"&gt;
 &lt;object class="Hello"&gt;
  &lt;void property="size"&gt;
   &lt;object class="java.awt.Dimension"&gt;
    &lt;int&gt;382&lt;/int&gt;
    &lt;int&gt;231&lt;/int&gt;
   &lt;/object&gt;
  &lt;/void&gt;
  &lt;void property="visible"&gt;
   &lt;boolean&gt;true&lt;/boolean&gt;
  &lt;/void&gt;
  &lt;void property="name"&gt;
   &lt;string&gt;frame0&lt;/string&gt;
  &lt;/void&gt;
 &lt;/object&gt;
&lt;/java&gt;

thingol

Muito bom este exemplo. Vou modificar ele mais. Pois na verdade o que tenho que fazer é dado que tenho um JPanel com varios objetos (por exemplo, labels) tenho que gerar um xml e a partir deste xml gerar um pdf com os objetos nas mesmas posições (x,y).

Valeu. Caso tenha mais alguma dica, ficarei grato.