package uk.co.mmscomputing.device.phone; import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.beans.*; import uk.co.mmscomputing.util.*; public class PhoneCallerPanel extends JPanel implements PhoneConstants{ private PhoneCallerMetadata md; private PhoneCaller caller=null; private JDialog dialog=null; private JTabbedPane tp=null; public PhoneCallerPanel(PhoneCaller caller, PhoneCallerMetadata md,Properties properties){ this.caller=caller; this.md=md; setLayout(new BorderLayout()); tp=new JTabbedPane(); tp.addTab("Properties",new PhonePropertiesPanel(false,true,properties)); add(tp,BorderLayout.CENTER); JPanel bp=new JPanel(); bp.setLayout(new GridLayout(1,2)); JButton button; button=new JButton("call"/*,new JarImageIcon(getClass(),"32x32/fax.png")*/); button.addActionListener((ActionListener)EventHandler.create(ActionListener.class, this, "call")); bp.add(button); button=new JButton("cancel"); button.addActionListener((ActionListener)EventHandler.create(ActionListener.class, this, "cancel")); bp.add(button); add(bp,BorderLayout.SOUTH); } synchronized public void call(){ /* */ // caller.fireListenerUpdate(md.GETFILE); if(dialog!=null){ dialog.dispose();dialog=null;} // String fn=md.getFile(); // if(fn!=null){ new Thread(){ public void run(){ try{ caller.call(); }catch(Exception e){ System.out.println("9\b"+getClass().getName()+"\n\tCould not call.\n\t"+e.getMessage()); } } }.start(); // } } public void cancel(){ if(dialog!=null){ dialog.dispose();dialog=null;} } public void display(){ try{ dialog=new JDialog((Frame)null,"Phone Caller Panel",true); dialog.setContentPane(this); GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); dialog.setLocationRelativeTo(null); dialog.pack(); dialog.setVisible(true); }catch(Exception e){ System.out.println("9\b"+getClass().getName()+"display:\n\t"+e.getMessage()); e.printStackTrace(); } } }