File "MiniDraw_Tools.java"
Full Path: /home/analogde/www/LED/Freebox/Ebook/Informatique/JAVA/DATAS/REALMONT_02_02_2015/MiniDraw Application/Src/MiniDraw_Tools.java
File size: 4.49 KB
MIME-type: text/x-java
Charset: utf-8
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import javax.swing.*;
/**
* MiniDraw_Tools
* <p>
* <b>History</b> :
* <ul>
* <li>Version 0.1 : Initial version</li>
* </ul>
* </p>
* @author Pierrick Calvet & Florian Delclaux
*/
public class MiniDraw_Tools extends JPanel implements ActionListener, ItemListener{
private MiniDraw minidraw;
public JTextField tfHeight;
public JTextField tfWidth;
public JCheckBox chkFilled;
/**
* Build MiniDraw_Tools's object
* @param minidraw Reference of MiniDraw's object
*/
public MiniDraw_Tools(MiniDraw minidraw){
this.minidraw = minidraw;
setLayout(new FlowLayout(FlowLayout.LEFT));
ButtonGroup btngroup = new ButtonGroup();
/* Arrow Button */
JToggleButton tbArrow = new JToggleButton(new ImageIcon("Pictures/Arrow.gif"));
btngroup.add(tbArrow);
tbArrow.setActionCommand("Arrow");
tbArrow.addActionListener(this);
add(tbArrow);
/* Circle Button */
JToggleButton tbCircle = new JToggleButton(new ImageIcon("Pictures/Circle.gif"), true);
btngroup.add(tbCircle);
tbCircle.setActionCommand("Circle");
tbCircle.addActionListener(this);
add(tbCircle);
/* Ellipse Button */
JToggleButton tbEllipse = new JToggleButton(new ImageIcon("Pictures/Ellipse.gif"));
btngroup.add(tbEllipse);
tbEllipse.setActionCommand("Ellipse");
tbEllipse.addActionListener(this);
add(tbEllipse);
/* Square Button */
JToggleButton tbSquare = new JToggleButton(new ImageIcon("Pictures/Square.gif"));
btngroup.add(tbSquare);
tbSquare.setActionCommand("Square");
tbSquare.addActionListener(this);
add(tbSquare);
/* Rectangle Button */
JToggleButton tbRectangle = new JToggleButton(new ImageIcon("Pictures/Rectangle.gif"));
btngroup.add(tbRectangle);
tbRectangle.setActionCommand("Rectangle");
tbRectangle.addActionListener(this);
add(tbRectangle);
/* Filled CheckBox */
chkFilled = new JCheckBox("Filled", MiniDraw.DEFAULT_FILLED);
chkFilled.addItemListener(this);
add(chkFilled);
/* Width TextField */
add(new JLabel("Width :"));
tfWidth = new JTextField("100");
add(tfWidth);
/* Height TextField */
add(new JLabel("Height :"));
tfHeight = new JTextField("50");
tfHeight.setEnabled(false);
add(tfHeight);
/* Clear Button */
JButton btnClear = new JButton("Clear");
btnClear.addActionListener(this);
add(btnClear);
}
/* When JCheckBox change */
public void itemStateChanged(ItemEvent event){
minidraw.display.filledShape = chkFilled.isSelected();
minidraw.statebar.refresh(chkFilled.isSelected());
}
public void actionPerformed(ActionEvent event){
/* Arrow button selected */
if(event.getActionCommand().equals("Arrow")){
minidraw.display.selectedShape = MiniDraw.NOSHAPE;
tfHeight.setEnabled(false);
tfWidth.setEnabled(false);
minidraw.statebar.refresh("Arrow");
return;
}
/* Circle button selected */
if(event.getActionCommand().equals("Circle")){
minidraw.display.selectedShape = MiniDraw.CIRCLE;
tfHeight.setEnabled(false);
tfWidth.setEnabled(true);
minidraw.statebar.refresh("Circle");
return;
}
/* Ellipse button selected */
if(event.getActionCommand().equals("Ellipse")){
minidraw.display.selectedShape = MiniDraw.ELLIPSE;
tfHeight.setEnabled(true);
tfWidth.setEnabled(true);
minidraw.statebar.refresh("Ellipse");
return;
}
/* Square button selected */
if(event.getActionCommand().equals("Square")){
minidraw.display.selectedShape = MiniDraw.SQUARE;
tfHeight.setEnabled(false);
tfWidth.setEnabled(true);
minidraw.statebar.refresh("Square");
return;
}
/* Rectangle button selected */
if(event.getActionCommand().equals("Rectangle")){
minidraw.display.selectedShape = MiniDraw.RECTANGLE;
tfHeight.setEnabled(true);
tfWidth.setEnabled(true);
minidraw.statebar.refresh("Rectangle");
return;
}
/* Clear button */
if(event.getActionCommand().equals("Clear") && minidraw.display.shapes.size() > 0) {
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)
minidraw.saveFile();
}
minidraw.display.clear();
minidraw.toSave = false;
}
}
}