import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class ControlCircle extends JFrame {
private CirclePanel canvas = new CirclePanel();
public ControlCircle() {
JButton jbtEnlarge = new JButton("Enlarge");
JButton jbtShrink = new JButton("Shrink");
JPanel panel = new JPanel(new FlowLayout()); // Use the panel to group buttons
panel.add(jbtEnlarge);
panel.add(jbtShrink);
add(canvas, BorderLayout.CENTER); // Add canvas to center
add(panel, BorderLayout.SOUTH); // Add buttons to the frame
jbtEnlarge.addActionListener(new EnlargeListener());
jbtShrink.addActionListener(new ShrinkListener());
}
/** Main method */
public static void main(String[] args) {
JFrame frame = new ControlCircle();
frame.setTitle("ControlCircle");
frame.setSize(400, 400);
frame.setLocationRelativeTo(null); // Center the frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
class EnlargeListener implements ActionListener { // Inner class
public void actionPerformed(ActionEvent e) {
canvas.enlarge();
}
}
class ShrinkListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
canvas.shrink();
}
}
}
class CirclePanel extends JPanel {
private int radius = 1; // Default circle radius
public CirclePanel() {
}
public CirclePanel(int radius) {
this.radius = radius;
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawOval(getWidth() / 2 - radius, getHeight() / 2 - radius,
2 * radius, 2 * radius);
}
public int getRadius() {
return radius;
}
public void setRadius(int radius) {
this.radius = radius;
super.repaint();
}
/** Enlarge the circle */
public void enlarge() {
radius += 5;
super.repaint();
}
/** Shrink the circle */
public void shrink() {
radius -= 5;
super.repaint();
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class ControlCircle extends JFrame {
private CirclePanel canvas = new CirclePanel();
public ControlCircle() {
JButton jbtEnlarge = new JButton("Enlarge");
JButton jbtShrink = new JButton("Shrink");
JPanel panel = new JPanel(new FlowLayout()); // Use the panel to group buttons
panel.add(jbtEnlarge);
panel.add(jbtShrink);
add(canvas, BorderLayout.CENTER); // Add canvas to center
add(panel, BorderLayout.SOUTH); // Add buttons to the frame
jbtEnlarge.addActionListener(new EnlargeListener());
jbtShrink.addActionListener(new ShrinkListener());
}
/** Main method */
public static void main(String[] args) {
JFrame frame = new ControlCircle();
frame.setTitle("ControlCircle");
frame.setSize(400, 400);
frame.setLocationRelativeTo(null); // Center the frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
class EnlargeListener implements ActionListener { // Inner class
public void actionPerformed(ActionEvent e) {
canvas.enlarge();
}
}
class ShrinkListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
canvas.shrink();
}
}
}
class CirclePanel extends JPanel {
private int radius = 1; // Default circle radius
public CirclePanel() {
}
public CirclePanel(int radius) {
this.radius = radius;
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawOval(getWidth() / 2 - radius, getHeight() / 2 - radius,
2 * radius, 2 * radius);
}
public int getRadius() {
return radius;
}
public void setRadius(int radius) {
this.radius = radius;
super.repaint();
}
/** Enlarge the circle */
public void enlarge() {
radius += 5;
super.repaint();
}
/** Shrink the circle */
public void shrink() {
radius -= 5;
super.repaint();
}
}