In: Computer Science
Run the following Java code and explain what it does.
Show the image created by the code.
public class Main{
public static void main(String[] args) {
new MyFrame();
}
}
import javax.swing.*;
public class MyFrame extends JFrame{
MyPanel panel;
MyFrame(){
panel = new MyPanel();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(panel);
this.pack();
this.setLocationRelativeTo(null);
this.setVisible(true);
}
}
import java.awt.*;
import javax.swing.*;
public class MyPanel extends JPanel{
//Image image;
MyPanel(){
//image = new ImageIcon("sky.png").getImage();
this.setPreferredSize(new Dimension(500,500));
}
public void paint(Graphics g) {
Graphics2D g2D = (Graphics2D) g;
//g2D.drawImage(image, 0, 0, null);
g2D.setPaint(Color.blue);
g2D.setStroke(new BasicStroke(5));
g2D.drawLine(0, 0, 500, 500);
//g2D.setPaint(Color.pink);
//g2D.drawRect(0, 0, 100, 200);
//g2D.fillRect(0, 0, 100, 200);
//g2D.setPaint(Color.orange);
//g2D.drawOval(0, 0, 100, 100);
//g2D.fillOval(0, 0, 100, 100);
//g2D.setPaint(Color.red);
//g2D.drawArc(0, 0, 100, 100, 0, 180);
//g2D.fillArc(0, 0, 100, 100, 0, 180);
//g2D.setPaint(Color.white);
//g2D.fillArc(0, 0, 100, 100, 180, 180);
//int[] xPoints = {150,250,350};
//int[] yPoints = {300,150,300};
//g2D.setPaint(Color.yellow);
//g2D.drawPolygon(xPoints, yPoints, 3);
//g2D.fillPolygon(xPoints, yPoints, 3);
//g2D.setPaint(Color.magenta);
//g2D.setFont(new Font("Ink Free",Font.BOLD,50));
//g2D.drawString("U R A WINNER! :D", 50, 50);
}
}
EXPLANATION OF THE CODE
the given code contains 3 classes named as MyPanel,MyFrame and Main
MyPanel.java
this module imports java awt and java swing which is GUI widget toolkit for Java.
in MyPanel() method we create a panel(it is a container which provides space in which an application can attach any other component) of size 500 x 500
in paint() method we create the graphics object and then we set the color to blue by setPaint() method.
and we pass the start and end coordinate i.e 0,0 and 500,500 to drawLine() method which will draw a line from 0,0 to 500,500
MyFrame.java
in this module we create frame by extending JFrame.it is like the main window where components like labels, buttons, textfields are added to create a GUI.
we add panel to the frame and we set visibility of frame to true and we also defined close operation here.
Main.java
this module contains main method where we call MyFrame() method.
SCREENSHOT OF THE OUTPUT