Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014 the RoboWorkshop Project
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.rwshop.swing.animation.table.animation;
 
 
 import static org.jflux.api.common.rk.localization.Localizer.$;

Author(s):
Matthew Stevenson <www.roboworkshop.org>
 
 public class AnimationTableContextMenu implements MouseListener{
     private JTable myTable;
     private AnimationEditor myController;

    

Parameters:
table
 
     public AnimationTableContextMenu(JTable table){
          = table;
         .addMouseListener(this);
 
         //This allows the menu to come up in empty table areas
         .getParent().addMouseListener(this);
     }

    

Parameters:
controller
 
     public void setController(AnimationEditor controller){
          = controller;
     }
     @Override
     public void mouseClicked(MouseEvent e) {
         tryShowPopup(e);
     }
     @Override
     public void mousePressed(MouseEvent e) {
         tryShowPopup(e);
     }
     @Override
     public void mouseReleased(MouseEvent e) {
         tryShowPopup(e);
     }
     @Override
     public void mouseEntered(MouseEvent e) {}
     @Override
     public void mouseExited(MouseEvent e) {}

    

Parameters:
e
 
     public void tryShowPopup(MouseEvent e){
         if( == null){
             return;
         }
         if(e.getButton() != . || !e.isPopupTrigger()){
             return;
         }
         JPopupMenu menu = new JPopupMenu();
         int i = .rowAtPoint(e.getPoint());
         if(i >= 0){
             ChannelEditor controller = .getChild(i);
             menu.add(new UIMenuItem($("remove"), ChannelActions.Remove(controller)));
             for(JComponent c : UIMenuItem.buildStateMenuItems(controller)){
                 menu.add(c);
             }
             menu.addSeparator();
         }
         menu.add(UIAction.AddChannelMenu());
         menu.show(e.getX(), e.getY());
     }
New to GrepCode? Check out our FAQ X