Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
LED
/
Freebox
/
Ebook
/
Informatique
/
JAVA
/
DATAS
/
REALMONT_02_02_2015
/
MiniDraw Application
/
Src
:
MiniDraw_Menu.java
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
import java.awt.Color; import java.awt.event.*; import javax.swing.*; /** * MiniDraw_Menu * <p> * <b>History</b> : * <ul> * <li>Version 0.2 : Migration to Java 1.5 : replace JDialog.show to JDialog.setVisible(true) * <li>Version 0.1 : Initial version</li> * </ul> * </p> * @author Pierrick Calvet & Florian Delclaux */ public class MiniDraw_Menu extends JMenuBar implements ActionListener{ private MiniDraw minidraw; private ButtonGroup btnGroup; /** * Build MiniDraw_Menu's object * @param minidraw Reference of MiniDraw's object */ public MiniDraw_Menu(MiniDraw minidraw){ this.minidraw = minidraw; /* Menu File */ JMenu menuFile = new JMenu("File"); /* File -> New */ JMenuItem itemNew = new JMenuItem("New"); itemNew.addActionListener(this); menuFile.add(itemNew); menuFile.add(new JSeparator()); /* File -> Load */ JMenuItem itemLoad = new JMenuItem("Load"); itemLoad.addActionListener(this); menuFile.add(itemLoad); /* File -> Save */ JMenuItem itemSave = new JMenuItem("Save"); itemSave.addActionListener(this); menuFile.add(itemSave); menuFile.add(new JSeparator()); /* File -> Exit */ JMenuItem itemExit = new JMenuItem("Exit"); itemExit.addActionListener(this); menuFile.add(itemExit); add(menuFile); /* Menu Color */ JMenu menuColor = new JMenu("Color"); btnGroup = new ButtonGroup(); /* Color -> Black */ JRadioButtonMenuItem itemBlack = new JRadioButtonMenuItem("Black"); itemBlack.addActionListener(this); btnGroup.add(itemBlack); menuColor.add(itemBlack); /* Color -> Blue */ JRadioButtonMenuItem itemBlue = new JRadioButtonMenuItem("Blue", true); itemBlue.addActionListener(this); btnGroup.add(itemBlue); menuColor.add(itemBlue); /* Color -> Red */ JRadioButtonMenuItem itemRed = new JRadioButtonMenuItem("Red"); itemRed.addActionListener(this); btnGroup.add(itemRed); menuColor.add(itemRed); /* Color -> Green */ JRadioButtonMenuItem itemGreen = new JRadioButtonMenuItem("Green"); itemGreen.addActionListener(this); btnGroup.add(itemGreen); menuColor.add(itemGreen); /* Color -> Other */ JRadioButtonMenuItem itemOther = new JRadioButtonMenuItem("Other"); itemOther.addActionListener(this); btnGroup.add(itemOther); menuColor.add(itemOther); add(menuColor); /* Menu Help */ JMenu menuHelp = new JMenu("Help"); /* Help -> About */ JMenuItem itemAbout = new JMenuItem("About MiniDraw ..."); itemAbout.setActionCommand("About"); itemAbout.addActionListener(this); menuHelp.add(itemAbout); add(menuHelp); } /** * Manage all menu's action */ public void actionPerformed(ActionEvent event){ /* File -> New */ if(event.getActionCommand().equals("New")){ if(minidraw.toSave){ int ans = JOptionPane.showConfirmDialog(minidraw, "Save your design ?", "Warning", JOptionPane.YES_NO_CANCEL_OPTION); if(ans == JOptionPane.CANCEL_OPTION) return; if(ans == JOptionPane.YES_OPTION) if(!minidraw.saveFile()) /* Save operation abort */ return; } minidraw.display.clear(); /* Clear display */ minidraw.toSave = false; /* Needn't to save */ minidraw.setTitle("MiniDraw - Untitled"); /* Change title */ return; } /* File -> Load */ if(event.getActionCommand().equals("Load")){ if(minidraw.toSave){ int ans = JOptionPane.showConfirmDialog(minidraw, "Save your design ?", "Warning", JOptionPane.YES_NO_CANCEL_OPTION); if(ans == JOptionPane.CANCEL_OPTION) return; if(ans == JOptionPane.YES_OPTION) if(!minidraw.saveFile()) /* Save operation abort */ return; } minidraw.display.clear(); if(!minidraw.loadFile()) /* Error while loading file */ minidraw.display.clear(); minidraw.toSave = false; return; } /* File -> Save */ if(event.getActionCommand().equals("Save")) { minidraw.saveFile(); minidraw.toSave = false; return; } /* File -> Exit */ if(event.getActionCommand().equals("Exit")){ if(minidraw.toSave){ int ans = JOptionPane.showConfirmDialog(minidraw, "Save your design ?", "Warning", JOptionPane.YES_NO_CANCEL_OPTION); if(ans == JOptionPane.CANCEL_OPTION) /* Abort closing operation */ return; if(ans == JOptionPane.YES_OPTION) if(!minidraw.saveFile()) /* Save operation abort */ return; } System.exit(0); } /* Color -> Black */ if(event.getActionCommand().equals("Black")) { minidraw.statebar.refresh(minidraw.display.colorSelected = Color.black); return; } /* Color -> Blue */ if(event.getActionCommand().equals("Blue")){ minidraw.statebar.refresh(minidraw.display.colorSelected = Color.blue); return; } /* Color -> Red */ if(event.getActionCommand().equals("Red")){ minidraw.statebar.refresh(minidraw.display.colorSelected = Color.red); return; } /* Color -> Green */ if(event.getActionCommand().equals("Green")){ minidraw.statebar.refresh(minidraw.display.colorSelected = Color.green); return; } /* Color -> Other */ if(event.getActionCommand().equals("Other")){ JColorChooser chooser = new JColorChooser(); Color retColor = chooser.showDialog(minidraw, "Choose a color for OurShape", minidraw.display.colorSelected); if (retColor == null) return; minidraw.display.colorSelected = retColor; minidraw.statebar.refresh(minidraw.display.colorSelected); return; } /* Help -> About */ if(event.getActionCommand().equals("About")) minidraw.about.setVisible(true); } }