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, side1Field, side2Field, side3Field;
private JButton drawButton;
private JPanel drawingPanel;
private Color fillColor = Color.PINK;
public ShapeMaker(){
// Set up the frame
setTitle("ShapeMaker");
setSize(600,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
desiredShape = new JComboBox<>(new String[]{"Rectangle", "Circle", "Triangle"});
// Radio Buttons for New Color Selection
yellowButton = new JRadioButton("Yellow"); // Default selected
orangeButton = new JRadioButton("Orange");
purpleButton = new JRadioButton("Purple");
cyanButton = new JRadioButton("Pink",true);
ButtonGroup colorGroup = new ButtonGroup();
colorGroup.add(yellowButton);
colorGroup.add(orangeButton);
colorGroup.add(purpleButton);
colorGroup.add(pinkButton);
// Input Fields
radiusField = new JTextField(5); // For Circle
widthField = new JTextField(5); // For Rectangle
heightField = new JTextField(5); // For Rectangle
side1Field = new JTextField(5); // For Triangle
side2Field = new JTextField(5); // For Triangle
side3Field = new JTextField(5); // For Triangle
// Draw Button
drawButton = new JButton("Draw Shape");
// Set up the drawing panel
drawingPanel = new JPanel(){
@Override
protected void paintComponent(Graphics g){
super.paintComponent(g);
drawShape(g);
}
};
// Layout Setup
JPanel controlPanel = new JPanel();
controlPanel.add(new JLabel("Select Shape:"));
controlPanel.add(shapeSelector);
controlPanel.add(new JLabel("Radius:"));
controlPanel.add(radiusField);
controlPanel.add(new JLabel("Width:"));
controlPanel.add(widthField);
controlPanel.add(new JLabel("Height:"));
controlPanel.add(heightField);
controlPanel.add(new JLabel("Side 1:"));
controlPanel.add(side1Field);
controlPanel.add(new JLabel("Side 2:"));
controlPanel.add(side2Field);
controlPanel.add(new JLabel("Side 3:"));
controlPanel.add(side3Field);
JPanel colorPanel = new JPanel();
colorPanel.add(blackButton);
colorPanel.add(redButton);
colorPanel.add(blueButton);
colorPanel.add(greenButton);
// Add ActionListener to Draw Button
drawButton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
if (blackButton.isSelected()) fillColor = Color.BLACK;
else if (redButton.isSelected()) fillColor = Color.RED;
else if (blueButton.isSelected()) fillColor = Color.BLUE;
else if (greenButton.isSelected()) fillColor = Color.GREEN;
// Trigger redraw of the panel
drawingPanel.repaint();
}
});
// Add components to frame
add(controlPanel, BorderLayout.NORTH);
add(colorPanel, BorderLayout.SOUTH);
add(drawButton, BorderLayout.CENTER);
add(drawingPanel, BorderLayout.WEST);
setVisible(true);
}
// Method to draw the selected shape
private void drawShape(Graphics g){
String selectedShape =(String) shapeSelector.getSelectedItem();
g.setColor(fillColor);
if ("Circle"ccequals(selectedShape)){
int radius = Integer.parseInt(radiusField.getText());
g.drawOval(100,100, radius *2, radius *2);
} else if ("Rectangle".equals(selectedShape)){
int width = Integer.parseInt(widthField.getText());
int height = Integer.parseInt(heightField.getText());
g.drawRect(100,100, width, height);
} else if ("Triangle".equals(selectedShape)){
int side1= Integer.parseInt(side1Field.getText());
int side2= Integer.parseInt(side2Field.getText());
int side3= Integer.parseInt(side3Field.getText());
// Logic to draw a triangle based on sides can be added here
// Example: for simplicity, draw an isosceles triangle
g.drawPolygon(new int[]{100,150,50}, new int[]{100,200,200},3);
}
}
public static void main(String[] args){
new ShapeMaker();
}
}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!