Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // The Board is a panel, where the game takes place.
- package com.zetcode.main;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.RenderingHints;
- import java.awt.geom.AffineTransform;
- import java.awt.geom.Ellipse2D;
- import javax.swing.*;
- @SuppressWarnings("serial")
- public class Board extends JPanel
- {
- public void paint(Graphics g)
- {
- super.paint(g);
- // Provides a sophisticated control over painting
- Graphics2D g2 = (Graphics2D) g;
- // The rendering hints are used to make the drawing smooth
- RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- rh.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
- g2.setRenderingHints(rh);
- // We get the height and the width of the window
- Dimension size = getSize();
- double w = size.getWidth();
- double h = size.getHeight();
- // Here we create the ellipse
- Ellipse2D e = new Ellipse2D.Double(0, 0, 80, 130);
- g2.setStroke(new BasicStroke(1));
- g2.setColor(Color.gray);
- // Here the ellipse is rotated 72 times to create a "donut"
- for (double deg = 0; deg < 360; deg += 5) {
- AffineTransform at = AffineTransform.getTranslateInstance(w / 2, h / 2);
- at.rotate(Math.toRadians(deg));
- g2.draw(at.createTransformedShape(e));
- }
- }
- }
- -------------------------------------------------------------------------------------------------------------------------------------
- package com.zetcode.main;
- import javax.swing.*;
- public class Zetcode extends JFrame
- {
- private static final int WIDTH = 360;
- private static final int HEIGHT = 310;
- public Zetcode()
- {
- add(new Board());
- setVisible(true);
- setTitle("Donut");
- setSize(WIDTH, HEIGHT);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setLocationRelativeTo(null);
- setResizable(false);
- }
- public static void main(String args[])
- {
- new Zetcode();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment