Question: make it cooler and less ai generated import java.awt. * ; import java.awt.event.ActionEvent; import javax.swing. * ; import java.awt.event.ActionListener; public class ShapeMaker extends JFrame {
make it cooler and less ai generated import java.awt.;
import java.awt.event.ActionEvent;
import javax.swing.;
import java.awt.event.ActionListener;
public class ShapeMaker extends JFrame
private JComboBox desiredShape;
private JRadioButton yellowButton,orangeButton,purpleButton,pinkButton;
private JTextField radiusField, widthField, heightField, sideField, sideField, sideField;
private JButton drawButton;
private JPanel drawingPanel;
private Color fillColor Color.PINK;
public ShapeMaker
Set up the frame
setTitleShapeMaker;
setSize;
setDefaultCloseOperationJFrameEXITONCLOSE;
desiredShape new JComboBoxnew StringRectangle "Circle", "Triangle";
Radio Buttons for New Color Selection
yellowButton new JRadioButtonYellow; Default selected
orangeButton new JRadioButtonOrange;
purpleButton new JRadioButtonPurple;
cyanButton new JRadioButtonPinktrue;
ButtonGroup colorGroup new ButtonGroup;
colorGroup.addyellowButton;
colorGroup.addorangeButton;
colorGroup.addpurpleButton;
colorGroup.addpinkButton;
Input Fields
radiusField new JTextField; For Circle
widthField new JTextField; For Rectangle
heightField new JTextField; For Rectangle
sideField new JTextField; For Triangle
sideField new JTextField; For Triangle
sideField new JTextField; For Triangle
Draw Button
drawButton new JButtonDraw Shape";
Set up the drawing panel
drawingPanel new JPanel
@Override
protected void paintComponentGraphics g
super.paintComponentg;
drawShapeg;
;
Layout Setup
JPanel controlPanel new JPanel;
controlPanel.addnew JLabelSelect Shape:";
controlPanel.addshapeSelector;
controlPanel.addnew JLabelRadius:;
controlPanel.addradiusField;
controlPanel.addnew JLabelWidth:;
controlPanel.addwidthField;
controlPanel.addnew JLabelHeight:;
controlPanel.addheightField;
controlPanel.addnew JLabelSide :;
controlPanel.addsideField;
controlPanel.addnew JLabelSide :;
controlPanel.addsideField;
controlPanel.addnew JLabelSide :;
controlPanel.addsideField;
JPanel colorPanel new JPanel;
colorPanel.addblackButton;
colorPanel.addredButton;
colorPanel.addblueButton;
colorPanel.addgreenButton;
Add ActionListener to Draw Button
drawButton.addActionListenernew ActionListener
@Override
public void actionPerformedActionEvent e
if blackButtonisSelected fillColor Color.BLACK;
else if redButtonisSelected fillColor Color.RED;
else if blueButtonisSelected fillColor Color.BLUE;
else if greenButtonisSelected fillColor Color.GREEN;
Trigger redraw of the panel
drawingPanel.repaint;
;
Add components to frame
addcontrolPanel BorderLayout.NORTH;
addcolorPanel BorderLayout.SOUTH;
adddrawButton BorderLayout.CENTER;
adddrawingPanel BorderLayout.WEST;
setVisibletrue;
Method to draw the selected shape
private void drawShapeGraphics g
String selectedShape String shapeSelector.getSelectedItem;
gsetColorfillColor;
if CircleccequalsselectedShape
int radius Integer.parseIntradiusFieldgetText;
gdrawOval radius radius ;
else if RectangleequalsselectedShape
int width Integer.parseIntwidthFieldgetText;
int height Integer.parseIntheightFieldgetText;
gdrawRect width, height;
else if TriangleequalsselectedShape
int side Integer.parseIntsideField.getText;
int side Integer.parseIntsideField.getText;
int side Integer.parseIntsideField.getText;
Logic to draw a triangle based on sides can be added here
Example: for simplicity, draw an isosceles triangle
gdrawPolygonnew int new int;
public static void mainString args
new ShapeMaker;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
