Task Write a Java program to implement a simple graphics edi

Task: Write a Java program to implement a simple graphics editor that can be used to draw a Pythagoras. The editor has a pull-down menu on top of the screen, with 2 buttons: \"Pythagoras\" and \"Quit\". 1) When the user selects \"Pythagoras\", he/she can draw a tree of Pythagoras on the screen. 2) The editor terminates/quits execution if the user selects \"Quit\" from the pulldown menu. 3) The editor has a horizontal and a vertical sliding bar that when slided, moves the tree on the canvas accordingly.

Solution

HOpe this will help--

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;


public class MenuExp extends JFrame {
   
    public MenuExp() {
       
        setTitle(\"Menu Example\");
        setSize(150, 150);
       
       JSlider framesPerSecond = new JSlider(JSlider.VERTICAL,FPS_MIN, FPS_MAX, FPS_INIT);
       framesPerSecond.addChangeListener(this);

       JSlider framesPerSecond1= new JSlider(JSlider.HORIZONTAL,FPS_MIN, FPS_MAX, FPS_INIT);
       framesPerSecond1.addChangeListener(this);
      
        // Creates a menubar for a JFrame
        JMenuBar menuBar = new JMenuBar();
       
        // Add the menubar to the frame
        setJMenuBar(menuBar);
       
        // Define and add two drop down menu to the menubar
        JMenu fileMenu = new JMenu(\"Process\");
        menuBar.add(fileMenu);
   
       
        // Create and add simple menu item to one of the drop down menu
        JMenuItem newAction = new JMenuItem(\"Pythagoras\");
        JMenuItem openAction = new JMenuItem(\"Quit\");
       
        fileMenu.add(newAction);
        fileMenu.add(openAction);
      
       newAction.addActionListner(new PythagorusListener());
       openAction.addActionListner(new CloseListener());
    
        // Add a listener to the New menu item. actionPerformed() method will
        // invoked, if user triggred this menu item
        newAction.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                System.out.println(\"You have clicked on the new action\");
            }
        });
    }
    public static void main(String[] args) {
        MenuExp me = new MenuExp();
        me.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        me.setVisible(true);
    }
}

public class CloseListener implements ActionListener{
    @Override
    public void actionPerformed(ActionEvent e) {
        //DO SOMETHING
        System.exit(0);
    }
}

public class PythagorusListener implements ActionListener{
    @Override
    public void actionPerformed(ActionEvent e) {
          setSize(900, 900);
        setTitle(\"Pythagoras tree\");
        add(new Draw(n));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
}


class Draw extends JComponent {
    private int height = 800;
    private int width = 800;
    private int steps;

    public Draw(int n) {
        steps = n;

        Dimension d = new Dimension(width, height);
        setMinimumSize(d);
        setPreferredSize(d);
        setMaximumSize(d);
    }

    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.white);
        g.fillRect(0, 0, width, height);
        g.setColor(Color.black);

        int x1, x2, x3, y1, y2, y3;
        int base = width/7;

        x1 = (width/2)-(base/2);
        x2 = (width/2)+(base/2);
        x3 = width/2;
        y1 = (height-(height/15))-base;
        y2 = height-(height/15);
        y3 = (height-(height/15))-(base+(base/2));

        //paint
        g.drawPolygon(new int[]{x1, x1, x2, x2, x1}, new int[]{y1, y2, y2, y1, y1}, 5);

        int n1 = steps;
        if(--n1 > 0){
            g.drawPolygon(new int[] {x1, x3, x2}, new int[] {y1, y3, y1}, 3);
            paintMore(n1, g, x1, x3, x2, y1, y3, y1);
            paintMore(n1, g, x2, x3, x1, y1, y3, y1);
        }
    }

    public void paintMore(int n1, Graphics g, double x1_1, double x2_1, double x3_1, double y1_1, double y2_1, double y3_1){
        double x1, x2, x3, y1, y2, y3;
        //counting
        x1 = x1_1 + (x2_1-x3_1);
        x2 = x2_1 + (x2_1-x3_1);
        x3 = ((x2_1 + (x2_1-x3_1)) + ((x2_1-x3_1)/2)) + ((x1_1-x2_1)/2);
        y1 = y1_1 + (y2_1-y3_1);
        y2 = y2_1 + (y2_1-y3_1);
        y3 = ((y1_1 + (y2_1-y3_1)) + ((y2_1-y1_1)/2)) + ((y2_1-y3_1)/2);

        //paint
        g.setColor(Color.green);
        g.drawPolygon(new int[] {(int)x1, (int)x2, (int)x2_1, (int)x1},
                      new int[] {(int)y1, (int)y2, (int)y2_1, (int)y1}, 4);

        g.drawLine((int)x1, (int)y1, (int)x1_1, (int)y1_1);
        g.drawLine((int)x2_1, (int)y2_1, (int)x2, (int)y2);
        g.drawLine((int)x1, (int)y1, (int)x2, (int)y2);

        if(--n1 > 0){
            g.drawLine((int)x1, (int)y1, (int)x3, (int)y3);
            g.drawLine((int)x2, (int)y2, (int)x3, (int)y3);
            paintMore(n1, g, x1, x3, x2, y1, y3, y2);
            paintMore(n1, g, x2, x3, x1, y2, y3, y1);
        }
    }
}

Task: Write a Java program to implement a simple graphics editor that can be used to draw a Pythagoras. The editor has a pull-down menu on top of the screen, wi
Task: Write a Java program to implement a simple graphics editor that can be used to draw a Pythagoras. The editor has a pull-down menu on top of the screen, wi
Task: Write a Java program to implement a simple graphics editor that can be used to draw a Pythagoras. The editor has a pull-down menu on top of the screen, wi

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site