1 5 package net.sf.panoptes.view.swing.configurator; 6 7 import java.util.Map ; 8 9 import javax.swing.JComponent ; 10 import javax.swing.JInternalFrame ; 11 import javax.swing.JMenu ; 12 import javax.swing.JMenuBar ; 13 import javax.swing.WindowConstants ; 14 import javax.swing.event.InternalFrameEvent ; 15 import javax.swing.event.InternalFrameListener ; 16 17 import net.sf.panoptes.controller.actions.ExternalizeFrameAction; 18 import net.sf.panoptes.model.node.Node; 19 import net.sf.panoptes.swing.Operation; 20 import net.sf.panoptes.swing.desktop.MenuContributor; 21 22 28 public class ConfiguratorFrame extends JInternalFrame { 29 30 private SwingConfigurator configurator; 31 32 public ConfiguratorFrame(String title) { 33 super(title, true, true, true, true); 34 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 35 addInternalFrameListener(new InternalFrameListener () { 36 public void internalFrameActivated(InternalFrameEvent e) { 37 } 38 39 public void internalFrameClosed(InternalFrameEvent e) { 40 } 41 42 public void internalFrameClosing(InternalFrameEvent e) { 43 } 44 45 public void internalFrameDeactivated(InternalFrameEvent e) { 46 } 47 48 public void internalFrameDeiconified(InternalFrameEvent e) { 49 } 50 51 public void internalFrameIconified(InternalFrameEvent e) { 52 } 53 54 public void internalFrameOpened(InternalFrameEvent e) { 55 } 56 }); 57 58 } 59 60 61 public JMenu contributeMenu() { 62 if (configurator instanceof MenuContributor) { 63 return ((MenuContributor) configurator).contributeMenu(); 64 } else return null; 65 } 66 67 public void setConfigurator(SwingConfigurator configurator, Map attributes) throws ConfiguratorException { 68 this.configurator = configurator; 69 JComponent panel = configurator.build(this, attributes); 70 setContentPane(panel); 71 if (getJMenuBar() == null) setJMenuBar(new JMenuBar ()); 72 73 if (configurator instanceof MenuContributor) { 74 MenuContributor c = (MenuContributor) configurator; 75 getJMenuBar().add(c.contributeMenu()); 76 } 77 JMenu windowMenu = new JMenu ("Window"); 78 windowMenu.add(new ExternalizeFrameAction(this)); 79 getJMenuBar().add(windowMenu); 80 81 } 82 83 public void setNode(Operation operation, Node node) throws ConfiguratorException { 84 configurator.setNode(operation, node); 85 } 86 87 } 88 | Popular Tags |