1 package rero.dialogs.toolkit; 2 3 import javax.swing.*; 4 import javax.swing.event.*; 5 6 import java.awt.*; 7 import java.awt.event.*; 8 9 import java.util.*; 10 11 public class ADialog extends JDialog implements ActionListener 12 { 13 protected APanel panel; 14 protected Object returnValue; 15 16 protected JButton ok, cancel; 17 18 protected Object value; 19 20 public Object showDialog(Component comp) 21 { 22 setLocationRelativeTo(comp); 23 setVisible(true); 24 return returnValue; 25 } 26 27 public ADialog(Component comp, String title, APanel _panel, Object _value) 28 { 29 super(JOptionPane.getFrameForComponent(comp), title, true); 30 31 value = _value; 32 33 panel = _panel; 34 getContentPane().setLayout(new BorderLayout()); 35 36 37 JPanel temp = new JPanel(); 38 temp.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); 39 temp.setLayout(new BorderLayout()); 40 temp.add(panel, BorderLayout.CENTER); 41 42 getContentPane().add(temp, BorderLayout.CENTER); 43 44 JPanel buttons = new JPanel(); 45 buttons.setLayout(new FlowLayout(FlowLayout.RIGHT)); 46 47 ok = new JButton("Ok"); 48 ok.setMnemonic('O'); 49 ok.addActionListener(this); 50 51 cancel = new JButton("Cancel"); 52 cancel.setMnemonic('C'); 53 cancel.addActionListener(this); 54 55 buttons.add(ok); 56 buttons.add(cancel); 57 58 getContentPane().add(buttons, BorderLayout.SOUTH); 59 60 panel.processParent(this); 61 62 returnValue = null; 63 } 64 65 public void closeAndReturn() 66 { 67 returnValue = panel.getValue(value); 68 setVisible(false); 69 } 70 71 public void actionPerformed(ActionEvent ev) 72 { 73 if (ev.getSource() == ok) 74 { 75 returnValue = panel.getValue(value); 76 } 77 else if (ev.getSource() == cancel) 78 { 79 returnValue = null; 80 } 81 else 82 { 83 returnValue = panel.getValue(ev.getActionCommand()); 84 } 85 86 setVisible(false); 87 } 88 } 89 | Popular Tags |