/** * Copyright 2014 Comcast Cable Communications Management, LLC * * This file is part of CATS. * * CATS is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CATS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with CATS. If not, see <http://www.gnu.org/licenses/>. */ package com.comcast.cats.vision.panel.videogrid; import static com.comcast.cats.vision.util.CatsVisionConstants.SETTOP_INFO; import static com.comcast.cats.vision.util.CatsVisionConstants.SNAP_IMAGE; import static com.comcast.cats.vision.util.CatsVisionConstants.TRACE; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; /** * A JPopupMenu which contains the following menu items 1) Audio 2) Digital * Controller 3)Trace 4) Snap Image 5) Settop Info * * @author aswathyann * */ public class RightClickMenu extends JPopupMenu { private static final long serialVersionUID = 3631988109167602250L; private JMenuItem snapImageMenuItem; private JMenuItem settopInfoMenuItem; private JMenuItem traceMenuItem; public static void main( String[] args ) { final RightClickMenu rightClickMenu = new RightClickMenu(); JFrame frame = new JFrame( "Creating a Popup Menu" ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.addMouseListener( new MouseAdapter() { public void mouseReleased( MouseEvent event ) { if ( event.isPopupTrigger() ) { rightClickMenu.show( event.getComponent(), event.getX(), event.getY() ); } } } ); frame.setSize( 400, 400 ); frame.setVisible( true ); } public RightClickMenu() { traceMenuItem = new JMenuItem( TRACE ); traceMenuItem.setEnabled( false ); add( traceMenuItem ); snapImageMenuItem = new JMenuItem( SNAP_IMAGE ); snapImageMenuItem.setEnabled( true ); add( snapImageMenuItem ); settopInfoMenuItem = new JMenuItem( SETTOP_INFO ); settopInfoMenuItem.setEnabled( true ); add( settopInfoMenuItem ); } public void refreshMenu() { traceMenuItem.setEnabled( false ); } public JMenuItem getSnapImageMenuItem() { return snapImageMenuItem; } public void setSnapImageMenuItem( JMenuItem snapImageMenuItem ) { this.snapImageMenuItem = snapImageMenuItem; } public JMenuItem getSettopInfoMenuItem() { return settopInfoMenuItem; } public void setSettopInfoMenuItem( JMenuItem settopInfoMenuItem ) { this.settopInfoMenuItem = settopInfoMenuItem; } public JMenuItem getTraceMenuItem() { return traceMenuItem; } public void setTraceMenuItem( JMenuItem traceMenuItem ) { this.traceMenuItem = traceMenuItem; } public void addActionListener( ActionListener listener ) { traceMenuItem.addActionListener( listener ); snapImageMenuItem.addActionListener( listener ); settopInfoMenuItem.addActionListener( listener ); } public void removeActionListener( ActionListener listener ) { traceMenuItem.removeActionListener( listener ); snapImageMenuItem.removeActionListener( listener ); settopInfoMenuItem.removeActionListener( listener ); } }