top.show();
top.setVisible(true);
    public static void main(String[] args) {        java.util.ArrayList a = new java.util.ArrayList();        a.add(new String("the string"));        a.add(new Integer(123));        a.add(new Boolean(true));        Map m = new java.util.TreeMap();        m.put("a string", new String("value 1"));        m.put("a boolean", new Boolean(false));        m.put("a byte array", new byte[] {0x00, 0x01});        a.add(m);        a.add(new int[] { 1001, 1002, 1003 });        a.add(new java.util.ArrayList());        a.add(null);        java.util.Set s = new java.util.HashSet();        s.add(new Integer(7));        s.add(new Boolean(true));        s.add(new String("a new String"));        a.add(s);        a.add(new Date());        a.add(new byte[] { 0, 1, 2, 3 });                javax.swing.JFrame top = new javax.swing.JFrame("Object Panel");        top.getContentPane().setLayout(new java.awt.BorderLayout());        top.addWindowListener(new java.awt.event.WindowAdapter() {            public void windowClosing(java.awt.event.WindowEvent evt) {                System.exit(0);            }        });                javax.swing.JButton button = new javax.swing.JButton("GET");        final ObjectPanel op = new ObjectPanel();        top.getContentPane().add(op);        top.getContentPane().add(button, java.awt.BorderLayout.SOUTH);        button.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                System.out.println(op.getObject());            }        });        top.setBounds(100,100,600,400);        top.show();        try {            op.setEditable(false);            op.setObject(a);            // Thread.currentThread().sleep(3000);            op.setEditable(true);        } catch (Exception e) {            e.printStackTrace();        }    }