rendered paste bodyimport java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class DrawArcs extends JFrame //implements ActionListener
{
private JRadioButton low;
private JRadioButton med;
private JRadioButton high;
private JRadioButton stop;
public DrawArcs()
{
setTitle("Show Arcs");
setLayout(new BorderLayout());
ArcsPanel panel = new ArcsPanel();
add(panel, BorderLayout.CENTER);
panel.radioButtons();
}
public static void main (String [] args)
{
DrawArcs frame = new DrawArcs();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(250, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
class ArcsPanel extends JPanel implements ActionListener
{
private JRadioButton low;
private JRadioButton medium;
private JRadioButton high;
private JRadioButton stop;
public int spin;
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int xCenter = getWidth() / 2;
int yCenter = getHeight() / 2;
int radius = (int)(Math.min(getWidth(), getHeight()) * 0.4);
int x = xCenter - radius;
int y = yCenter - radius;
g.setColor(Color.black);
g.drawOval(xCenter - radius, yCenter - radius, 2 * radius, 2 * radius);
g.setColor(Color.black);
g.drawRoundRect(xCenter - radius, yCenter - radius, 2*radius, 2*radius, 50, 50);
g.setColor(Color.red);
g.fillArc(x, y, 2 * radius, 2 * radius, spin+0, 30);
g.setColor(Color.green);
g.fillArc(x, y, 2 * radius, 2 * radius, spin+90, 30);
g.setColor(Color.blue);
g.fillArc(x, y, 2 * radius, 2 * radius, spin+180, 30);
g.setColor(Color.yellow);
g.fillArc(x, y, 2 * radius, 2 * radius, spin+270, 30);
}
public void actionPerformed(ActionEvent e){}
public void radioButtons()
{
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1,1));
p1.add(low = new JRadioButton("low", false));
p1.add(med = new JRadioButton("med", false));
p1.add(high = new JRadioButton("high", false));
p1.add(stop = new JRadioButton("stop", false));
add(p1, BorderLayout.WEST);
/*
low.setMnemonic('L');
med.setMnemonic('M');
high.setMnemonic('H');
stop.setMnemonic('S');
*/
ButtonGroup btg = new ButtonGroup();
System.out.println("WORKS!");
btg.add(low);
btg.add(med);
btg.add(high);
btg.add(stop);
stop.setSelected(true);
low.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
spin+=10;
if (spin>=360)
spin-=360;
repaint();
}
});
med.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
spin+=20;
if (spin>=360)
spin-=360;
repaint();
}
});
high.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
spin+=30;
if (spin>=360)
spin-=360;
repaint();
}
});
}
}
}