/* Copyright 2008, 2009 Sebastiano Tronto This file is part of Robottino. Robottino 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 2 of the License, or (at your option) any later version. Robottino 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 Robottino; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ import javax.swing.*; import java.awt.event.*; import java.awt.*; public class RobotFrame extends JFrame implements ActionListener { public static Main main; public static RobotPanel robotPanel; public static JMenuBar barraMenu; public static JMenu modifica, raMenu, laMenu, rlMenu, llMenu; public static JMenuItem raonMenuItem, raoffMenuItem, rachangeMenuItem, laonMenuItem, laoffMenuItem, lachangeMenuItem; public static JMenuItem rlonMenuItem, rloffMenuItem, rlchangeMenuItem, llonMenuItem, lloffMenuItem, llchangeMenuItem; RobotFrame( String titolo ) { super ( titolo ); robotPanel = new RobotPanel( titolo ); raonMenuItem = new JMenuItem( "Alza" ); laonMenuItem = new JMenuItem( "Alza" ); rlonMenuItem = new JMenuItem( "Alza" ); llonMenuItem = new JMenuItem( "Alza" ); raoffMenuItem = new JMenuItem( "Abbassa" ); laoffMenuItem = new JMenuItem( "Abbassa" ); rloffMenuItem = new JMenuItem( "Abbassa" ); lloffMenuItem = new JMenuItem( "Abbassa" ); rachangeMenuItem = new JMenuItem( "Cambia posizione" ); lachangeMenuItem = new JMenuItem( "Cambia posizione" ); rlchangeMenuItem = new JMenuItem( "Cambia posizione" ); llchangeMenuItem = new JMenuItem( "Cambia posizione" ); raonMenuItem.addActionListener( this ); raoffMenuItem.addActionListener( this ); rachangeMenuItem.addActionListener( this ); laonMenuItem.addActionListener( this ); laoffMenuItem.addActionListener( this ); lachangeMenuItem.addActionListener( this ); rlonMenuItem.addActionListener( this ); rloffMenuItem.addActionListener( this ); rlchangeMenuItem.addActionListener( this ); llonMenuItem.addActionListener( this ); lloffMenuItem.addActionListener( this ); llchangeMenuItem.addActionListener( this ); raMenu = new JMenu( "Braccio destro" ); raMenu.add( raonMenuItem ); raMenu.add( raoffMenuItem ); raMenu.add( rachangeMenuItem ); laMenu = new JMenu( "Braccio sinistro" ); laMenu.add( laonMenuItem ); laMenu.add( laoffMenuItem ); laMenu.add( lachangeMenuItem ); rlMenu = new JMenu( "Gamba destra" ); rlMenu.add( rlonMenuItem ); rlMenu.add( rloffMenuItem ); rlMenu.add( rlchangeMenuItem ); llMenu = new JMenu( "Gamba sinistra" ); llMenu.add( llonMenuItem ); llMenu.add( lloffMenuItem ); llMenu.add( llchangeMenuItem ); modifica = new JMenu( "Modifica" ); modifica.add( raMenu ); modifica.add( laMenu ); modifica.add( rlMenu ); modifica.add( llMenu ); barraMenu = new JMenuBar(); barraMenu.add( modifica ); setJMenuBar( barraMenu ); add( robotPanel ); } public void actionPerformed( ActionEvent e ) { esegui( e ); } public void esegui( ActionEvent e ) { if ( e.getSource() == raonMenuItem ) main.list.getRobot( this.getTitle() ).rightArm = true; else if ( e.getSource() == raoffMenuItem ) main.list.getRobot( this.getTitle() ).rightArm = false; else if ( e.getSource() == rachangeMenuItem ) main.list.getRobot( this.getTitle() ).rightArm = !main.list.getRobot( this.getTitle() ).rightArm; else if ( e.getSource() == laonMenuItem ) main.list.getRobot( this.getTitle() ).leftArm = true; else if ( e.getSource() == laoffMenuItem ) main.list.getRobot( this.getTitle() ).leftArm = false; else if ( e.getSource() == lachangeMenuItem ) main.list.getRobot( this.getTitle() ).leftArm = !main.list.getRobot( this.getTitle() ).leftArm; if ( e.getSource() == rlonMenuItem ) main.list.getRobot( this.getTitle() ).rightLeg = true; else if ( e.getSource() == rloffMenuItem ) main.list.getRobot( this.getTitle() ).rightLeg = false; else if ( e.getSource() == rlchangeMenuItem ) main.list.getRobot( this.getTitle() ).rightLeg = !main.list.getRobot( this.getTitle() ).rightLeg; else if ( e.getSource() == llonMenuItem ) main.list.getRobot( this.getTitle() ).leftLeg = true; else if ( e.getSource() == lloffMenuItem ) main.list.getRobot( this.getTitle() ).leftLeg = false; else if ( e.getSource() == llchangeMenuItem ) main.list.getRobot( this.getTitle() ).leftLeg = !main.list.getRobot( this.getTitle() ).leftLeg; robotPanel.setImages(); repaint(); } }