示例#1
0
  @NotNull
  private JPopupMenu createMenu(final Node config) {
    JPopupMenu menu = new JPopupMenu();
    final JCheckBoxMenuItem showRpmItem = new JCheckBoxMenuItem("Show RPM");
    final JCheckBoxMenuItem showCommandsItem = new JCheckBoxMenuItem("Show Commands");
    showRpmItem.setSelected(showRpmPanel);
    ActionListener showCheckboxListener =
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            showRpmPanel = showRpmItem.isSelected();
            showMessagesPanel = showCommandsItem.isSelected();
            config.setProperty(SHOW_RPM, showRpmPanel);
            config.setProperty(SHOW_MESSAGES, showMessagesPanel);
            applyShowFlags();
            // todo: this is not needed if we show/hide RPM panel. TODO: split into two different
            // listeners
            middleSplitPanel.setDividerLocation(0.5);
          }
        };
    showRpmItem.addActionListener(showCheckboxListener);
    showCommandsItem.addActionListener(showCheckboxListener);

    menu.add(showRpmItem);
    showCommandsItem.setSelected(showMessagesPanel);
    menu.add(showCommandsItem);
    menu.add(new JPopupMenu.Separator());
    menu.add(new JPopupMenu("Reset Config"));
    return menu;
  }
示例#2
0
    @Override
    public void actionPerformed(ActionEvent evt) {
      JCheckBoxMenuItem menuItem = (JCheckBoxMenuItem) evt.getSource();
      boolean curState = menuItem.isSelected();

      TreePath path = resultTree.getSelectionPath();
      DefaultMutableTreeNode operNode = (DefaultMutableTreeNode) path.getLastPathComponent();

      HyperSearchOperationNode operNodeObj = (HyperSearchOperationNode) operNode.getUserObject();
      if (curState) operNodeObj.cacheResultNodes(operNode);
      operNode.removeAllChildren();
      if (curState) {
        Exception excp = null;
        try {
          operNodeObj.insertTreeNodes(resultTree, operNode);
        } catch (Exception ex) {
          operNodeObj.restoreFlatNodes(resultTree, operNode);
          menuItem.setSelected(false);
          excp = ex;
        } finally {
          ((DefaultTreeModel) resultTree.getModel()).nodeStructureChanged(operNode);
          expandAllNodes(operNode);
          resultTree.scrollPathToVisible(new TreePath(operNode.getPath()));
        }
        if (excp != null) throw new RuntimeException(excp);
      } else operNodeObj.restoreFlatNodes(resultTree, operNode);

      operNodeObj.setTreeViewDisplayed(menuItem.isSelected());
    }
示例#3
0
  public void setFood(Thing fd) {
    this.food = fd;
    ta.setText("                                     " + this.food.getMyName());
    if (((Food) this.food).perishable) {
      typeOfFood.get(1).setSelected(true);
    } else {
      typeOfFood.get(0).setSelected(true);
    }

    hiddenObstacle.setEnabled(true);
    if (food.returnIfWasHidden()) {
      hiddenObstacle.setSelected(true);

    } else {
      hiddenObstacle.setSelected(false);
    }
    setVisible(false);
  }
    public void show(Component invoker, int x, int y) {
      ViperViewMediator mediator = getMediator();
      Point pnt = new Point(x, y);
      EnhancedTable tab = getTable();
      int row = tab.rowAtPoint(pnt);
      desc = getCurrentModel().getDescriptorAtRow(row);
      int col = tab.columnAtPoint(pnt);
      Object cellValue = tab.getValueAt(row, col);
      if (cellValue instanceof Attribute) {
        attr = (Attribute) cellValue;

        // hide the "Occlusions..." option when we're not dealing with a Textline object
        boolean isTextline = attr.getAttrConfig().getAttrType().endsWith("textline");
        occlusions.setVisible(isTextline);
        occSeparator.setVisible(isTextline);

        Instant now = mediator.getCurrentFrame();
        if (now == null) {
          mediator.getDisplayWRTManager().setAttribute(null, null);
          wrt.setEnabled(false);
          wrt.setSelected(false);
        } else {
          boolean isDwrt = attr == mediator.getDisplayWRTManager().getAttribute();
          boolean dwrtable =
              (attr.getAttrValueAtInstant(now) instanceof HasCentroid
                  && attr.getDescriptor().getValidRange().contains(now));
          wrt.setEnabled(dwrtable);
          wrt.setSelected(isDwrt);
        }
      } else {
        attr = null;
        wrt.setEnabled(false);
        wrt.setSelected(false);
      }
      if (null != desc) {
        PropagateInterpolateModule proper = getMediator().getPropagator();
        p.setSelected(proper.isPropagatingThis(desc));
        v.setSelected(mediator.isThisValidNow(desc));
        resetMarks();
        super.show(invoker, x, y);
      }
    }
示例#5
0
  public void showForCreation() {

    hiddenObstacle.setSelected(false);
    hiddenObstacle.setEnabled(false);
    for (JRadioButton tof : typeOfFood) {
      tof.setEnabled(true);
    }
    newCreatureButton.setEnabled(true);
    newJewelButton.setEnabled(true);
    group.setSelected(model, true);
  }
示例#6
0
  public void update() {

    newCreatureButton.setEnabled(false);
    newJewelButton.setEnabled(false);

    if (food != null) {

      for (JRadioButton tof : typeOfFood) {
        tof.setEnabled(false);
      }
      group.setSelected(model, false);

      hiddenObstacle.setEnabled(true);
      if (food.returnIfWasHidden()) {
        hiddenObstacle.setSelected(true);

      } else {
        hiddenObstacle.setSelected(false);
      }
    }
  }
示例#7
0
 /** Configures a JCheckBoxMenuItem for an Action. */
 public static void configureJCheckBoxMenuItem(final JCheckBoxMenuItem mi, final Action a) {
   mi.setSelected((Boolean) a.getValue(Actions.SELECTED_KEY));
   PropertyChangeListener propertyHandler =
       new PropertyChangeListener() {
         public void propertyChange(PropertyChangeEvent evt) {
           if (evt.getPropertyName().equals(Actions.SELECTED_KEY)) {
             mi.setSelected((Boolean) a.getValue(Actions.SELECTED_KEY));
           }
         }
       };
   a.addPropertyChangeListener(propertyHandler);
   mi.putClientProperty("actionPropertyHandler", propertyHandler);
 }
  /**
   * Fired when softphone is register sucessfully
   *
   * @param evt RegistrationEvent
   */
  public void registered(RegistrationEvent evt) {
    status = SipRegisterStatus.Registered;

    preferences.setPreferredAddress(NetworkAddressManager.getLocalHost().getHostAddress());
    // preference.commit();

    registerStatusChanged(new RegisterEvent(this, SipRegisterStatus.Registered, evt.getReason()));

    if (callTo.length() > 2) {
      handleDialRequest(callTo);
    }
    registerMenu.setSelected(true);
  }
示例#9
0
  public Vector getItems() {
    Vector items = new Vector();

    ActionListener al = new PopupMenuHandler();

    JMenuItem colorItem = new JMenuItem(colorString);
    colorItem.addActionListener(al);
    items.addElement(colorItem);

    JCheckBoxMenuItem dashedItem = new JCheckBoxMenuItem(dashedString);
    dashedItem.setSelected(dashed);
    dashedItem.addActionListener(al);
    items.addElement(dashedItem);

    return items;
  }
示例#10
0
  /**
   * Fired when softphone is unregistered sucessfully
   *
   * @param evt RegistrationEvent
   */
  public void unregistered(RegistrationEvent evt) {
    try {
      status = SipRegisterStatus.Unregistered;

      registerStatusChanged(
          new RegisterEvent(this, SipRegisterStatus.Unregistered, evt.getReason()));

      // we could now exit
      synchronized (unregistrationLock) {
        unregistrationLock.notifyAll();
      }

      destroySoftPhone();
      registerMenu.setSelected(false);
    } catch (Exception e) {
      Log.error("unregistered", e);
    }
  }
示例#11
0
  private void addCovMatrixTestMenuItems(JMenu test) {
    IndTestType testType = getTestType();
    if (testType != IndTestType.FISHER_Z
    //                && testType != IndTestType.CORRELATION_T
    ) {
      setTestType(IndTestType.FISHER_Z);
    }

    ButtonGroup group = new ButtonGroup();
    JCheckBoxMenuItem fishersZ = new JCheckBoxMenuItem("Fisher's Z");
    group.add(fishersZ);
    test.add(fishersZ);

    //        JCheckBoxMenuItem tTest = new JCheckBoxMenuItem("Cramer's T");
    //        group.add(tTest);
    //        test.add(tTest);

    testType = getTestType();

    if (testType == IndTestType.FISHER_Z) {
      fishersZ.setSelected(true);
    }
    //        else if (testType == IndTestType.CORRELATION_T) {
    //            tTest.setSelected(true);
    //        }

    fishersZ.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            setTestType(IndTestType.FISHER_Z);
            JOptionPane.showMessageDialog(JOptionUtils.centeringComp(), "Using Fisher's Z.");
          }
        });

    //        tTest.addActionListener(new ActionListener() {
    //            public void actionPerformed(ActionEvent e) {
    //                setTestType(IndTestType.CORRELATION_T);
    //                JOptionPane.showMessageDialog(JOptionUtils.centeringComp(),
    //                        "Using Cramer's T.");
    //            }
    //        });
  }
示例#12
0
 public void registrationFailed(RegistrationEvent evt) {
   status = SipRegisterStatus.RegistrationFailed;
   registerStatusChanged(
       new RegisterEvent(this, SipRegisterStatus.RegistrationFailed, evt.getReason()));
   registerMenu.setSelected(false);
 }
示例#13
0
  private JMenu createExtrasMenu() {

    List<JComponent> menuItems = new ArrayList<JComponent>();

    MenuAction menuAction = null;

    final JCheckBoxMenuItem exomeModeItem = new JCheckBoxMenuItem("Exome mode");
    exomeModeItem.setSelected(FrameManager.isExomeMode());
    exomeModeItem.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent actionEvent) {
            FrameManager.setExomeMode(exomeModeItem.isSelected(), true);
            igv.resetFrames();
          }
        });
    menuItems.add(exomeModeItem);
    menuItems.add(new JSeparator());

    // Preferences reset
    menuAction = new ResetPreferencesAction("Reset Preferences", IGV.getInstance());
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuItems.add(new JSeparator());

    menuAction =
        new MenuAction("Variant list ...  *EXPERIMENTAL*") {
          @Override
          public void actionPerformed(ActionEvent e) {
            VariantListManager.openNavigator(IGV.getMainFrame());
          }
        };
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuItems.add(new JSeparator());

    // Set frame dimensions
    menuAction =
        new MenuAction("Set window dimensions", null, KeyEvent.VK_C) {

          @Override
          public void actionPerformed(ActionEvent e) {
            String value = JOptionPane.showInputDialog("Enter dimensions, e.g. 800x400");
            if (value != null) {
              String[] vals = value.split("x");
              if (vals.length == 2) {
                int w = Integer.parseInt(vals[0]);
                int h = Integer.parseInt(vals[1]);
                IGV.getMainFrame().setSize(w, h);
              }
            }
          }
        };
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    // Save entire window
    menuAction =
        new MenuAction("Save Screenshot ...", null, KeyEvent.VK_A) {

          @Override
          public void actionPerformed(ActionEvent e) {
            IGV.getInstance().saveImage(IGV.getInstance().getContentPane());
          }
        };

    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuAction = new ExportTrackNamesMenuAction("Export track names...", IGV.getInstance());
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuAction =
        new MenuAction("Scatter Plot ...") {
          @Override
          public void actionPerformed(ActionEvent e) {
            final ReferenceFrame defaultFrame = FrameManager.getDefaultFrame();
            String chr = defaultFrame.getChrName();
            int start = (int) defaultFrame.getOrigin();
            int end = (int) defaultFrame.getEnd();
            int zoom = defaultFrame.getZoom();
            ScatterPlotUtils.openPlot(chr, start, end, zoom);
          }
        };
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    MenuAction extrasMenuAction = new MenuAction("Extras");
    JMenu menu = MenuAndToolbarUtils.createMenu(menuItems, extrasMenuAction);

    //
    JMenu lfMenu = new JMenu("L&F");
    LookAndFeel lf = UIManager.getLookAndFeel();
    for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {

      final String lfName = info.getName();
      JMenuItem cb = new JMenuItem(lfName);
      // cb.setSelected(info.getClassName().equals(lf.getClass().getName());
      cb.addActionListener(
          new AbstractAction() {

            public void actionPerformed(ActionEvent actionEvent) {
              for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {

                if (lfName.equals(info.getName())) {
                  try {
                    UIManager.setLookAndFeel(info.getClassName());
                  } catch (Exception e) {
                    e.printStackTrace();
                  }
                  break;
                }
              }
            }
          });
      lfMenu.add(cb);
    }
    menu.add(lfMenu);

    menu.setVisible(false);

    return menu;
  }
 public void setShowQualifiedTableNames(boolean showQualifiedTableNames) {
   _mnuShowQualifiedTableNames.setSelected(showQualifiedTableNames);
 }
示例#15
0
  private JMenu createViewMenu() {

    List<JComponent> menuItems = new ArrayList<JComponent>();
    MenuAction menuAction = null;

    // Preferences
    menuAction =
        new MenuAction("Preferences...", null, KeyEvent.VK_P) {
          @Override
          public void actionPerformed(ActionEvent e) {
            UIUtilities.invokeOnEventThread(
                new Runnable() {
                  public void run() {
                    IGV.getInstance().doViewPreferences();
                  }
                });
          }
        };
    menuAction.setToolTipText(PREFERENCE_TOOLTIP);
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuAction =
        new MenuAction("Color Legends ...", null, KeyEvent.VK_H) {
          @Override
          public void actionPerformed(ActionEvent e) {
            (new LegendDialog(IGV.getMainFrame())).setVisible(true);
          }
        };
    menuAction.setToolTipText(SHOW_HEATMAP_LEGEND_TOOLTIP);
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuItems.add(new JSeparator());

    menuAction =
        new MenuAction("Show Name Panel", null, KeyEvent.VK_A) {
          @Override
          public void actionPerformed(ActionEvent e) {

            JCheckBoxMenuItem menuItem = (JCheckBoxMenuItem) e.getSource();
            if (menuItem.isSelected()) {
              IGV.getInstance().getMainPanel().expandNamePanel();
            } else {
              IGV.getInstance().getMainPanel().collapseNamePanel();
            }
            IGV.getInstance().doRefresh();
          }
        };
    boolean isShowing = IGV.getInstance().getMainPanel().isExpanded();
    JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem();
    menuItem.setSelected(isShowing);
    menuItem.setAction(menuAction);
    menuItems.add(menuItem);

    JMenuItem panelWidthmenuItem = new JMenuItem();
    menuAction =
        new MenuAction("Set Name Panel Width...", null, KeyEvent.VK_A) {
          @Override
          public void actionPerformed(ActionEvent e) {
            MainPanel mainPanel = IGV.getInstance().getMainPanel();
            String currentValue = String.valueOf(mainPanel.getNamePanelWidth());
            String newValue =
                MessageUtils.showInputDialog("Enter track name panel width: ", currentValue);
            if (newValue != null) {
              try {
                Integer w = Integer.parseInt(newValue);
                if (w <= 0 || w == 1000) throw new NumberFormatException();
                PreferenceManager.getInstance().put(PreferenceManager.NAME_PANEL_WIDTH, newValue);
                mainPanel.setNamePanelWidth(w);
              } catch (NumberFormatException ex) {
                MessageUtils.showErrorMessage(
                    "Error: value must be a positive integer < 1000.", ex);
              }
            }
          }
        };
    panelWidthmenuItem.setAction(menuAction);
    menuItems.add(panelWidthmenuItem);

    // Hide or Show the attribute panels
    boolean isShow =
        PreferenceManager.getInstance().getAsBoolean(PreferenceManager.SHOW_ATTRIBUTE_VIEWS_KEY);
    IGV.getInstance().doShowAttributeDisplay(isShow); // <= WEIRD doing IGV.getInstance() here!

    menuAction =
        new MenuAction("Show Attribute Display", null, KeyEvent.VK_A) {
          @Override
          public void actionPerformed(ActionEvent e) {

            JCheckBoxMenuItem menuItem = (JCheckBoxMenuItem) e.getSource();
            PreferenceManager.getInstance().setShowAttributeView(menuItem.getState());
            IGV.getInstance().getMainPanel().invalidate();
            IGV.getInstance().doRefresh();
          }
        };
    menuItem = MenuAndToolbarUtils.createMenuItem(menuAction, isShow);
    menuItems.add(menuItem);

    menuAction =
        new MenuAction("Select Attributes to Show...", null, KeyEvent.VK_S) {

          @Override
          public void actionPerformed(ActionEvent e) {
            IGV.getInstance().doSelectDisplayableAttribute();
          }
        };
    menuAction.setToolTipText(SELECT_DISPLAYABLE_ATTRIBUTES_TOOLTIP);
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuAction =
        new MenuAction("Show Header Panel", null, KeyEvent.VK_A) {
          @Override
          public void actionPerformed(ActionEvent e) {

            JCheckBoxMenuItem menuItem = (JCheckBoxMenuItem) e.getSource();
            if (menuItem.isSelected()) {
              IGV.getInstance().getMainPanel().restoreHeader();
            } else {
              IGV.getInstance().getMainPanel().removeHeader();
            }
            IGV.getInstance().doRefresh();
          }
        };
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction, true));

    menuItems.add(new JSeparator());
    menuAction =
        new MenuAction("Reorder Panels...", null, KeyEvent.VK_S) {

          @Override
          public void actionPerformed(ActionEvent e) {
            ReorderPanelsDialog dlg = new ReorderPanelsDialog(IGV.getMainFrame());
            dlg.setVisible(true);
          }
        };
    menuItems.add(MenuAndToolbarUtils.createMenuItem(menuAction));

    menuItems.add(new JSeparator());
    menuItems.add(new HistoryMenu("Go to"));

    // Add to IGVPanel menu
    MenuAction dataMenuAction = new MenuAction("View", null, KeyEvent.VK_V);
    viewMenu = MenuAndToolbarUtils.createMenu(menuItems, dataMenuAction);
    return viewMenu;
  }
示例#16
0
  /** Constructor to set everything up */
  public TicTac() {
    // Set defaults before settings are changed via menus
    // (defaults are vs AI, play as X, with graphics on)
    multiPlayers = false;
    temp = false;
    currentPlayer = Symbol.X;
    ai = Symbol.O;
    difficulty = Difficulty.IMPOSSIBLE;

    frame = new JFrame("Tic Tac Toe");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    // Set preferred size so game fills window nicely
    this.setPreferredSize(new Dimension(cellSize * ROWS, cellSize * COLS));
    frame.add(this);

    // Load images
    try {
      sword = ImageIO.read(new File("swordsBlue.png"));
      saber = ImageIO.read(new File("saber2.png"));
      skull = ImageIO.read(new File("skull.png"));
      ring = ImageIO.read(new File("ring.png"));
      smiley = ImageIO.read(new File("smiley.png"));
      hydra = ImageIO.read(new File("hydra.png"));
      finalfantasy = ImageIO.read(new File("finalfantasy.jpg"));
      dragon = ImageIO.read(new File("dargon.jpg"));
      night = ImageIO.read(new File("night.jpg"));
    } catch (IOException e) {
      System.out.println("Could not open image files, turning images off!");
      useImages = false;
    }

    imageX = saber;
    imageO = ring;
    background = dragon;

    // Create menu bars.  Each one item will need a listener
    menuBar = new JMenuBar();
    JMenu menu = new JMenu("Mode");
    JMenu menu2 = new JMenu("Side");
    JMenu menu3 = new JMenu("Graphics");
    JMenu menu4 = new JMenu("Other");
    JMenu menu5 = new JMenu("Difficulty");
    JMenu xImageMenu = new JMenu("Image for X");
    JMenu oImageMenu = new JMenu("Image for O");
    JMenu backgroundMenu = new JMenu("Set Background");
    menuBar.add(menu);
    menuBar.add(menu2);
    menuBar.add(menu5);
    menuBar.add(menu3);
    menuBar.add(menu4);

    // Create checkbox menu items for choices
    final JCheckBoxMenuItem item = new JCheckBoxMenuItem("2 Player");
    final JCheckBoxMenuItem item2 = new JCheckBoxMenuItem("VS Computer");
    final JCheckBoxMenuItem item3 = new JCheckBoxMenuItem("Play as X");
    final JCheckBoxMenuItem item4 = new JCheckBoxMenuItem("Play as O");
    final JCheckBoxMenuItem item5 = new JCheckBoxMenuItem("On");
    final JCheckBoxMenuItem item6 = new JCheckBoxMenuItem("Off");
    JMenuItem item7 = new JMenuItem("Restart");
    JMenuItem item8 = new JMenuItem("Exit");
    final JCheckBoxMenuItem item9 = new JCheckBoxMenuItem("Easy");
    final JCheckBoxMenuItem item10 = new JCheckBoxMenuItem("Hard");
    final JCheckBoxMenuItem item11 = new JCheckBoxMenuItem("Impossible");
    final JCheckBoxMenuItem itemSword = new JCheckBoxMenuItem("Sword");
    final JCheckBoxMenuItem itemSaber = new JCheckBoxMenuItem("Sabers");
    final JCheckBoxMenuItem itemSkull = new JCheckBoxMenuItem("Skull");
    final JCheckBoxMenuItem itemRing = new JCheckBoxMenuItem("One Ring");
    final JCheckBoxMenuItem itemSmiley = new JCheckBoxMenuItem("Red Smiley");
    final JCheckBoxMenuItem itemHydra = new JCheckBoxMenuItem("Hydra");
    final JCheckBoxMenuItem itemDragon = new JCheckBoxMenuItem("Dragon");
    final JCheckBoxMenuItem itemFinalFantasy = new JCheckBoxMenuItem("Final Fantasy 7");
    final JCheckBoxMenuItem itemNight = new JCheckBoxMenuItem("Nighttime");

    // Set the initial checkboxes to true (for play vs ai, as X, with graphics on)
    item2.setSelected(true);
    item3.setSelected(true);
    item5.setSelected(true);
    item11.setSelected(true);
    itemSaber.setSelected(true);
    itemRing.setSelected(true);
    itemDragon.setSelected(true);

    // Play against friend
    item.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            item.setSelected(true);
            item2.setSelected(false);
            multiPlayers = true;
            repaint();
          }
        });
    menu.add(item);

    // Checkbox for Selecting to play against AI
    item2.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            item2.setSelected(true);
            item.setSelected(false);
            if (currentPlayer == Symbol.X) ai = Symbol.O;
            else ai = Symbol.X;
            item3.setSelected(true);
            item4.setSelected(false);
            multiPlayers = false;
          }
        });
    menu.add(item2);

    // Play as X
    item3.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            // use temp variable to move after assigning symbols
            if (item4.getState() && !multiPlayers) temp = true;
            item3.setSelected(true);
            item4.setSelected(false);
            currentPlayer = Symbol.X;
            ai = Symbol.O;
            if (temp) aiMove();
            repaint();
            temp = false;
          }
        });
    menu2.add(item3);

    // Play as O
    item4.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            if (item3.getState() && !multiPlayers) temp = true;
            item4.setSelected(true);
            item3.setSelected(false);
            currentPlayer = Symbol.O;
            ai = Symbol.X;
            if (temp) aiMove();
            repaint();
            temp = false;
          }
        });
    menu2.add(item4);

    // Turn Graphics on
    item5.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            item5.setSelected(true);
            item6.setSelected(false);
            useImages = true;
            repaint();
          }
        });
    menu3.add(item5);

    // Turn Graphics off
    item6.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            item5.setSelected(false);
            item6.setSelected(true);
            useImages = false;
            repaint();
          }
        });
    menu3.add(item6);
    menu3.addSeparator();
    menu3.add(xImageMenu);
    menu3.add(oImageMenu);
    menu3.add(backgroundMenu);

    // Choose Saber for X
    itemSaber.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemSword.setSelected(false);
            itemSaber.setSelected(true);
            itemSkull.setSelected(false);
            imageX = saber;
            repaint();
          }
        });
    xImageMenu.add(itemSaber);

    // Choose Sword for X
    itemSword.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemSword.setSelected(true);
            itemSaber.setSelected(false);
            itemSkull.setSelected(false);
            imageX = sword;
            repaint();
          }
        });
    xImageMenu.add(itemSword);

    // Choose Skull for X
    itemSkull.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemSword.setSelected(false);
            itemSaber.setSelected(false);
            itemSkull.setSelected(true);
            imageX = skull;
            repaint();
          }
        });
    xImageMenu.add(itemSkull);

    // Choose ring for O
    itemRing.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemRing.setSelected(true);
            itemSmiley.setSelected(false);
            itemHydra.setSelected(false);
            imageO = ring;
            repaint();
          }
        });
    oImageMenu.add(itemRing);

    // Choose red smiley for O
    itemSmiley.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemRing.setSelected(false);
            itemSmiley.setSelected(true);
            itemHydra.setSelected(false);
            imageO = smiley;
            repaint();
          }
        });
    oImageMenu.add(itemSmiley);

    // Choose hydra for O
    itemHydra.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemRing.setSelected(false);
            itemSmiley.setSelected(false);
            itemHydra.setSelected(true);
            imageO = hydra;
            repaint();
          }
        });
    oImageMenu.add(itemHydra);

    // Set dragon as background
    itemDragon.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemDragon.setSelected(true);
            itemFinalFantasy.setSelected(false);
            itemNight.setSelected(false);
            background = dragon;
            repaint();
          }
        });
    backgroundMenu.add(itemDragon);

    // Set final fantasy 7 as background
    itemFinalFantasy.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemDragon.setSelected(false);
            itemFinalFantasy.setSelected(true);
            itemNight.setSelected(false);
            background = finalfantasy;
            repaint();
          }
        });
    backgroundMenu.add(itemFinalFantasy);

    // Set night as background
    itemNight.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            itemDragon.setSelected(false);
            itemFinalFantasy.setSelected(false);
            itemNight.setSelected(true);
            background = night;
            repaint();
          }
        });
    backgroundMenu.add(itemNight);

    // Reset game
    item7.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            initialize();
          }
        });
    menu4.add(item7);

    // Exit game
    item8.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            System.exit(0);
          }
        });
    menu4.add(item8);

    // Difficulty easy
    item9.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            difficulty = Difficulty.EASY;
            item9.setSelected(true);
            item10.setSelected(false);
            item11.setSelected(false);
          }
        });
    menu5.add(item9);

    // Difficulty hard
    item10.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            difficulty = Difficulty.HARD;
            item10.setSelected(true);
            item9.setSelected(false);
            item11.setSelected(false);
          }
        });
    menu5.add(item10);

    // Difficulty impossible
    item11.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            difficulty = Difficulty.IMPOSSIBLE;
            item11.setSelected(true);
            item9.setSelected(false);
            item10.setSelected(false);
          }
        });
    menu5.add(item11);

    // Add Whole menu bar to frame
    frame.setJMenuBar(menuBar);

    // Create statusBar (updates will take place in paintComponent)
    statusBar = new JLabel("  ");
    statusBar.setFont(new Font(Font.DIALOG_INPUT, Font.BOLD, 15));
    statusBar.setBorder(BorderFactory.createEmptyBorder(2, 5, 4, 5));
    // Use container variable to set layout and pack everything nicely
    Container cp = frame.getContentPane();
    cp.setLayout(new BorderLayout());
    cp.add(this, BorderLayout.CENTER);
    cp.add(statusBar, BorderLayout.SOUTH);
    frame.pack();

    board = new Symbol[ROWS][COLS];
    initialize();

    // Add the mouse listener.  Use MouseAdapter rather than implement it
    this.addMouseListener(
        new MouseAdapter() {
          @Override
          public void mouseClicked(MouseEvent e) {
            int currentCol = e.getX() / cellSize;
            int currentRow = e.getY() / cellSize;

            if (gameStatus == GameStatus.CONTINUE) {
              // If valid click, and spot is empty, make the move.  Then check
              // to see if game is won. If not, and facing AI, ai moves.
              // Otherwise switch X and O
              if (currentRow >= 0
                  && currentRow < ROWS
                  && currentCol >= 0
                  && currentCol < COLS
                  && board[currentRow][currentCol] == Symbol.EMPTY) {
                board[currentRow][currentCol] = currentPlayer;
                checkState(currentPlayer);

                if (multiPlayers) currentPlayer = (currentPlayer == Symbol.X) ? Symbol.O : Symbol.X;

                if (gameStatus == GameStatus.CONTINUE && !multiPlayers) aiMove();
              }
            } else {
              // Game is over, so re-initialize everything
              initialize();
            }
            repaint();
          }
        });
  }
示例#17
0
  /**
   * Handles the <tt>ActionEvent</tt> generated when user presses one of the buttons in this panel.
   */
  public void actionPerformed(ActionEvent evt) {
    JButton button = (JButton) evt.getSource();
    String buttonName = button.getName();

    if (buttonName.equals("call")) {
      Component selectedPanel = mainFrame.getSelectedTab();

      // call button is pressed over an already open call panel
      if (selectedPanel != null
          && selectedPanel instanceof CallPanel
          && ((CallPanel) selectedPanel).getCall().getCallState()
              == CallState.CALL_INITIALIZATION) {

        NotificationManager.stopSound(NotificationManager.BUSY_CALL);
        NotificationManager.stopSound(NotificationManager.INCOMING_CALL);

        CallPanel callPanel = (CallPanel) selectedPanel;

        Iterator participantPanels = callPanel.getParticipantsPanels();

        while (participantPanels.hasNext()) {
          CallParticipantPanel panel = (CallParticipantPanel) participantPanels.next();

          panel.setState("Connecting");
        }

        Call call = callPanel.getCall();

        answerCall(call);
      }
      // call button is pressed over the call list
      else if (selectedPanel != null
          && selectedPanel instanceof CallListPanel
          && ((CallListPanel) selectedPanel).getCallList().getSelectedIndex() != -1) {

        CallListPanel callListPanel = (CallListPanel) selectedPanel;

        GuiCallParticipantRecord callRecord =
            (GuiCallParticipantRecord) callListPanel.getCallList().getSelectedValue();

        String stringContact = callRecord.getParticipantName();

        createCall(stringContact);
      }
      // call button is pressed over the contact list
      else if (selectedPanel != null && selectedPanel instanceof ContactListPanel) {
        // call button is pressed when a meta contact is selected
        if (isCallMetaContact) {
          Object[] selectedContacts =
              mainFrame.getContactListPanel().getContactList().getSelectedValues();

          Vector telephonyContacts = new Vector();

          for (int i = 0; i < selectedContacts.length; i++) {

            Object o = selectedContacts[i];

            if (o instanceof MetaContact) {

              Contact contact =
                  ((MetaContact) o).getDefaultContact(OperationSetBasicTelephony.class);

              if (contact != null) telephonyContacts.add(contact);
              else {
                new ErrorDialog(
                        this.mainFrame,
                        Messages.getI18NString("warning").getText(),
                        Messages.getI18NString(
                                "contactNotSupportingTelephony",
                                new String[] {((MetaContact) o).getDisplayName()})
                            .getText())
                    .showDialog();
              }
            }
          }

          if (telephonyContacts.size() > 0) createCall(telephonyContacts);

        } else if (!phoneNumberCombo.isComboFieldEmpty()) {

          // if no contact is selected checks if the user has chosen
          // or has
          // writen something in the phone combo box

          String stringContact = phoneNumberCombo.getEditor().getItem().toString();

          createCall(stringContact);
        }
      } else if (selectedPanel != null && selectedPanel instanceof DialPanel) {
        String stringContact = phoneNumberCombo.getEditor().getItem().toString();
        createCall(stringContact);
      }
    } else if (buttonName.equalsIgnoreCase("hangup")) {
      Component selectedPanel = this.mainFrame.getSelectedTab();

      if (selectedPanel != null && selectedPanel instanceof CallPanel) {

        NotificationManager.stopSound(NotificationManager.BUSY_CALL);
        NotificationManager.stopSound(NotificationManager.INCOMING_CALL);
        NotificationManager.stopSound(NotificationManager.OUTGOING_CALL);

        CallPanel callPanel = (CallPanel) selectedPanel;

        Call call = callPanel.getCall();

        if (removeCallTimers.containsKey(callPanel)) {
          ((Timer) removeCallTimers.get(callPanel)).stop();
          removeCallTimers.remove(callPanel);
        }

        removeCallPanel(callPanel);

        if (call != null) {
          ProtocolProviderService pps = call.getProtocolProvider();

          OperationSetBasicTelephony telephony = mainFrame.getTelephonyOpSet(pps);

          Iterator participants = call.getCallParticipants();

          while (participants.hasNext()) {
            try {
              // now we hang up the first call participant in the
              // call
              telephony.hangupCallParticipant((CallParticipant) participants.next());
            } catch (OperationFailedException e) {
              logger.error("Hang up was not successful: " + e);
            }
          }
        }
      }
    } else if (buttonName.equalsIgnoreCase("minimize")) {
      JCheckBoxMenuItem hideCallPanelItem =
          mainFrame.getMainMenu().getViewMenu().getHideCallPanelItem();

      if (!hideCallPanelItem.isSelected()) hideCallPanelItem.setSelected(true);

      this.setCallPanelVisible(false);
    } else if (buttonName.equalsIgnoreCase("restore")) {

      JCheckBoxMenuItem hideCallPanelItem =
          mainFrame.getMainMenu().getViewMenu().getHideCallPanelItem();

      if (hideCallPanelItem.isSelected()) hideCallPanelItem.setSelected(false);

      this.setCallPanelVisible(true);
    }
  }
示例#18
0
  /**
   * Set up the menu bar.
   *
   * @return The JMenuBar we set up.
   */
  private JMenuBar setupMenuBar() {
    JMenuBar menuBar = new JMenuBar();

    /* File */
    JMenu fileMenu = new JMenu("File");
    menuBar.add(fileMenu);

    /* File -> Open CSV */
    JMenuItem miFileOpenCSV =
        new JMenuItem(
            new AbstractAction("Open CSV") {
              @Override
              public void actionPerformed(ActionEvent e) {
                FileDialog fd =
                    new FileDialog(mainFrame, "Open Darwin CSV file ...", FileDialog.LOAD);
                fd.setVisible(true);
                File file;
                if (fd.getDirectory() != null) {
                  file = new File(fd.getDirectory(), fd.getFile());
                } else if (fd.getFile() != null) {
                  file = new File(fd.getFile());
                } else {
                  return;
                }

                // Clear out old file.
                loadFile(null);

                // SwingWorker MAGIC!
                new MainFrameWorker("loading file '" + file + "'", file) {
                  @Override
                  protected Object doInBackground() throws Exception {
                    System.err.println("Loading file: " + input);
                    loadFile((File) input, DarwinCSV.FILE_CSV_DELIMITED);

                    return null;
                  }
                }.execute();
              }
            });
    fileMenu.add(miFileOpenCSV);

    /* File -> Open CSV without UI */
    JMenuItem miFileOpenCSVnoUI =
        new JMenuItem(
            new AbstractAction("Open CSV without UI") {
              @Override
              public void actionPerformed(ActionEvent e) {
                FileDialog fd =
                    new FileDialog(mainFrame, "Open Darwin CSV file ...", FileDialog.LOAD);
                fd.setVisible(true);

                File file;
                if (fd.getDirectory() != null) {
                  file = new File(fd.getDirectory(), fd.getFile());
                } else if (fd.getFile() != null) {
                  file = new File(fd.getFile());
                } else {
                  return;
                }

                // Clear out old file
                loadFile(null);

                loadFile(file, DarwinCSV.FILE_CSV_DELIMITED);
              }
            });
    fileMenu.add(miFileOpenCSVnoUI);

    /* File -> Open tab-delimited */
    JMenuItem miFileOpenTab =
        new JMenuItem(
            new AbstractAction("Open tab-delimited") {
              @Override
              public void actionPerformed(ActionEvent e) {
                FileDialog fd =
                    new FileDialog(
                        mainFrame, "Open Darwin tab-delimited file ...", FileDialog.LOAD);
                fd.setVisible(true);

                File file;
                if (fd.getDirectory() != null) {
                  file = new File(fd.getDirectory(), fd.getFile());
                } else if (fd.getFile() != null) {
                  file = new File(fd.getFile());
                } else {
                  return;
                }

                // Clear out old file
                loadFile(null);

                // SwingWorker MAGIC!
                new MainFrameWorker("loading file '" + file + "'", file) {
                  @Override
                  protected Object doInBackground() throws Exception {
                    loadFile((File) input, DarwinCSV.FILE_TAB_DELIMITED);

                    return null;
                  }
                }.execute();
              }
            });
    fileMenu.add(miFileOpenTab);

    /* File -> Save CSV */
    JMenuItem miFileSave =
        new JMenuItem(
            new AbstractAction("Save as CSV") {
              @Override
              public void actionPerformed(ActionEvent e) {
                FileDialog fd =
                    new FileDialog(mainFrame, "Save Darwin CSV file ...", FileDialog.SAVE);
                fd.setVisible(true);

                File file;
                if (fd.getDirectory() != null) {
                  file = new File(fd.getDirectory(), fd.getFile());
                } else if (fd.getFile() != null) {
                  file = new File(fd.getFile());
                } else {
                  return;
                }

                // SwingWorker MAGIC!
                new MainFrameWorker("saving CSV file '" + file + "'", file) {
                  @Override
                  protected Object doInBackground() throws Exception {
                    currentCSV.saveToFile((File) input, DarwinCSV.FILE_CSV_DELIMITED);

                    return null;
                  }
                }.execute();
              }
            });
    fileMenu.add(miFileSave);

    /* File -> Exit */
    JMenuItem miFileExit =
        new JMenuItem(
            new AbstractAction("Exit") {
              @Override
              public void actionPerformed(ActionEvent e) {
                mainFrame.setVisible(false);
                mainFrame.dispose();
              }
            });
    fileMenu.add(miFileExit);

    /* Match */
    JMenu matchMenu = new JMenu("Match");
    menuBar.add(matchMenu);

    /* Match -> Against CSV */
    JMenuItem miMatchCSV =
        new JMenuItem(
            new AbstractAction("Match against CSV") {
              @Override
              public void actionPerformed(ActionEvent e) {
                FileDialog fd =
                    new FileDialog(
                        mainFrame, "Open Darwin CSV file for matching ...", FileDialog.LOAD);
                fd.setVisible(true);

                if (fd.getFile() == null) return;

                File file = new File(fd.getFile());
                if (fd.getDirectory() != null) {
                  file = new File(fd.getDirectory(), fd.getFile());
                }

                // Clear out old match against.
                matchAgainst(null);

                // SwingWorker MAGIC!
                new MainFrameWorker("matching against file '" + file + "'", file) {
                  @Override
                  protected Object doInBackground() throws Exception {
                    matchAgainst(new DarwinCSV((File) input, DarwinCSV.FILE_CSV_DELIMITED));

                    return null;
                  }
                }.execute();
              }
            });
    matchMenu.add(miMatchCSV);

    /* Match -> Against ITIS */
    JMenuItem miMatchITIS =
        new JMenuItem(
            new AbstractAction("Match against ITIS") {
              @Override
              public void actionPerformed(ActionEvent e) {
                DarwinCSV csv = DownloadITIS.getIt(mainFrame);
                matchAgainst(csv);
                table.repaint();
              }
            });
    matchMenu.add(miMatchITIS);

    /* TaxonID */
    JMenu taxonIDMenu = new JMenu("TaxonIDs");
    menuBar.add(taxonIDMenu);

    /* TaxonID -> Treat TaxonIDs as ... */
    JMenu treatTaxonIDsAs = new JMenu("Treat TaxonIDs as ...");
    taxonIDMenu.add(treatTaxonIDsAs);

    /* TaxonID -> Treat -> ITIS TSNs */
    JCheckBoxMenuItem miITIS_TSNs =
        new JCheckBoxMenuItem(
            new AbstractAction("ITIS TSNs") {
              @Override
              public void actionPerformed(ActionEvent e) {
                // Don't let the user unselect this.
                ((JCheckBoxMenuItem) e.getSource()).setSelected(true);
              }
            });
    miITIS_TSNs.setSelected(true);
    treatTaxonIDsAs.add(miITIS_TSNs);

    /* TaxonID -> Create family column */
    JMenuItem miTaxonID_createFamily =
        new JMenuItem(
            new AbstractAction("Create family column") {
              @Override
              public void actionPerformed(ActionEvent e) {
                /*
                if(currentCSV == null)
                	return;

                if(currentMatch == null)
                	return;

                int col = getJTable().getSelectedColumn();
                if(col == -1)
                	return;

                RowIndex rowIndex = currentCSV.getRowIndex();

                String colName = rowIndex.getColumnName(col);
                if(rowIndex.hasColumn(colName + "_family")) {
                	// TODO MessageBox
                	return;
                }

                if(Name.class.isAssignableFrom(currentCSV.getRowIndex().getColumnClass(col))) {
                	// A name class! Make a new column!
                	currentCSV.getRowIndex().setColumnClass(colName + "_family", String.class);
                	currentCSV.getRowIndex().createNewColumn(colName + "_family", col + 1, colName, new MapOperation() {
                		@Override
                		public Object mapTo(Object value) {
                			return "family";
                		}
                	});

                	// Repaint the table.
                	getJTable().repaint();
                }
                */
              }
            });
    taxonIDMenu.add(miTaxonID_createFamily);

    /* Help */
    JMenu helpMenu = new JMenu("Help");
    menuBar.add(helpMenu);

    /* Help -> Memory information */
    JMenuItem miHelpMemory =
        new JMenuItem(
            new AbstractAction("Memory information") {
              @Override
              public void actionPerformed(ActionEvent e) {
                System.gc();

                MessageBox.messageBox(
                    mainFrame,
                    "Memory information",
                    "Maximum memory: "
                        + Runtime.getRuntime().maxMemory() / (1024 * 1024)
                        + " MB\n"
                        + "Total memory: "
                        + Runtime.getRuntime().totalMemory() / (1024 * 1024)
                        + " MB\n"
                        + "Used memory: "
                        + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())
                            / (1024 * 1024)
                        + " MB\n"
                        + "Free memory: "
                        + Runtime.getRuntime().freeMemory() / (1024 * 1024)
                        + " MB\n"
                        + "Available memory: "
                        + (Runtime.getRuntime().maxMemory()
                                - Runtime.getRuntime().totalMemory()
                                + Runtime.getRuntime().freeMemory())
                            / (1024 * 1024)
                        + " MB");
              }
            });
    helpMenu.add(miHelpMemory);

    return menuBar;
  }
 public void setShowConstraintNames(boolean showConstraintNames) {
   _mnuShowConstraintNames.setSelected(showConstraintNames);
 }