import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import org.jdom.*; import org.jdom.input.*; /** * Title: * Description: * Copyright: Copyright (c) 2000 * Company: Voquette Inc * @author * @version 1.0 */ public class InsertDialog extends JDialog implements ActionListener { JPanel jPanel1 = new JPanel(); JScrollPane jScrollPane1 = new JScrollPane(); JTextArea textArea = new JTextArea(); JButton ok = new JButton(); JButton cancel = new JButton(); Element element = null; public InsertDialog(Frame owner) { super(owner, "New Element", true); try { jbInit(); setLocationRelativeTo(owner); setSize(300, 200); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { ok.setMnemonic('O'); ok.setText("Ok"); ok.addActionListener(this); cancel.setMnemonic('C'); cancel.setText("Cancel"); cancel.addActionListener(this); this.setResizable(false); this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } }); this.getContentPane().add(jPanel1, BorderLayout.SOUTH); jPanel1.add(ok, null); jPanel1.add(cancel, null); this.getContentPane().add(jScrollPane1, BorderLayout.CENTER); jScrollPane1.getViewport().add(textArea, null); } public void actionPerformed(ActionEvent evt) { if(evt.getActionCommand().equals("Ok")) { prepareElement(); } else if(evt.getActionCommand().equals("Cancel")) this.element = null; dispose(); } public void prepareElement() { if(textArea.getText().trim().length() <=0) { this.element = null; return; } StringBuffer buffer = new StringBuffer(100); buffer.append(""); buffer.append(textArea.getText()); try { BufferedReader in = new BufferedReader(new StringReader(buffer.toString())); SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(in); this.element = (Element)(doc.getRootElement().clone()); } catch(Exception ex) { ex.printStackTrace(System.err); this.element = null; } } public Element getElement() { return this.element; } }