Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package at.fhooe.mcm;
- import java.awt.*;
- import java.awt.event.*;
- import java.awt.image.BufferedImage;
- public class DrawingWindow implements WindowListener, ItemListener, MouseListener{
- private DrawingPanel drawingPanel;
- private boolean isRectangle;
- private boolean isLine;
- private boolean isDashedRectangle;
- private boolean isDashedLine;
- private Point prev = null;
- public DrawingWindow(){
- Frame frame = new Frame();
- frame.setSize(640, 480);
- frame.setLayout(new BorderLayout());
- drawingPanel = new DrawingPanel();
- drawingPanel.setBackground(Color.LIGHT_GRAY);
- frame.add(drawingPanel, BorderLayout.CENTER);
- frame.addWindowListener(this);
- CheckboxGroup groupCheckBox = new CheckboxGroup();
- Checkbox rect = new Checkbox("Rectangle", groupCheckBox, true);
- Checkbox line = new Checkbox("Line", groupCheckBox, false);
- Checkbox dashedLine = new Checkbox("Dashed line", groupCheckBox, false);
- Checkbox dashedRectangle = new Checkbox("Dashed rectangle", groupCheckBox, false);
- isRectangle = true;
- rect.addItemListener(this);
- line.addItemListener(this);
- dashedLine.addItemListener(this);
- dashedRectangle.addItemListener(this);
- drawingPanel.addMouseListener(this);
- drawingPanel.add(rect);
- drawingPanel.add(line);
- drawingPanel.add(dashedLine);
- drawingPanel.add(dashedRectangle);
- frame.setVisible(true);
- }
- @Override
- public void itemStateChanged(ItemEvent e) {
- if (e.getStateChange() == ItemEvent.SELECTED){
- Checkbox checkBox = (Checkbox) e.getSource();
- if (checkBox.getLabel() == "Rectangle"){
- isRectangle = true;
- isLine = false;
- isDashedRectangle = false;
- isDashedLine = false;
- }else if(checkBox.getLabel() == "Line"){
- isLine = true;
- isRectangle = false;
- isDashedLine = false;
- isDashedRectangle = false;
- }else if (checkBox.getLabel() == "Dashed line"){
- isDashedLine = true;
- isLine = false;
- isRectangle = false;
- isDashedRectangle = false;
- System.out.println(isDashedLine);
- }else if (checkBox.getLabel() == "Dashed rectangle"){
- isDashedRectangle = true;
- isDashedLine = false;
- isLine = false;
- isRectangle = false;
- System.out.println(isDashedRectangle);
- }else{
- System.out.println("other");
- }
- }
- }
- @Override
- public void windowOpened(WindowEvent e) {
- }
- @Override
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- @Override
- public void windowClosed(WindowEvent e) {
- }
- @Override
- public void windowIconified(WindowEvent e) {
- }
- @Override
- public void windowDeiconified(WindowEvent e) {
- }
- @Override
- public void windowActivated(WindowEvent e) {
- }
- @Override
- public void windowDeactivated(WindowEvent e) {
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- if (isRectangle){
- int x = e.getX();
- int y = e.getY();
- drawingPanel.drawRectangle(x,y);
- }else if(isLine){
- if (prev == null){
- prev = e.getPoint();
- }else{
- drawingPanel.drawLine(prev, e.getPoint());
- prev = null;
- }
- }else if (isDashedLine){
- System.out.println(isDashedLine);
- }
- drawingPanel.repaint();
- }
- @Override
- public void mousePressed(MouseEvent e) {
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- }
- @Override
- public void mouseExited(MouseEvent e) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement