import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; public class DrawArcs extends JFrame{ class ArcsPanel extends JPanel{ int c=0; public void paintComponent(Graphics g){ super.paintComponent(g); int xCenter = getWidth()/2; int yCenter = getHeight()/2; int radius = (int)(Math.min(getWidth(),getHeight())*0.5); int x= xCenter-radius; int y= yCenter-radius; g.fillArc(x,y,2*radius,2*radius,c+0,30); g.fillArc(x,y,2*radius,2*radius,c+90,30); g.fillArc(x,y,2*radius,2*radius,c+180,30); g.fillArc(x,y,2*radius,2*radius,c+270,30); c+=10; } } class TimerListener implements ActionListener{ public void actionPerformed(ActionEvent e){ repaint(); } } public DrawArcs(){ Timer timer =new Timer(100,new TimerListener()); timer.start(); add(new ArcsPanel()); } public static void main(String[] args) { DrawArcs frame = new DrawArcs(); frame.setTitle("Exercise14_12"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setSize(400,300); frame.setVisible(true); } }