Guest User

Untitled

a guest
Oct 21st, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.image.*;
  3. import java.io.*;
  4. import javax.swing.*;
  5. import javax.imageio.ImageIO;
  6.  
  7. public class CanvasTest extends Canvas
  8. {
  9. final int width = 373,
  10. height = 264;
  11. JFrame frame;
  12. JPanel panel;
  13. BufferStrategy strategy;
  14. GraphicsDevice graphicsDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
  15.  
  16. Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  17. final Point screenCenter = new Point(screenSize.width/2 - ((width + 16)/2), screenSize.height/2 - ((height + 36)/2));
  18.  
  19. public static void main(String[] args)
  20. {
  21. new CanvasTest();
  22. }
  23.  
  24. public CanvasTest()
  25. {
  26. try
  27. {
  28. frame = new JFrame();
  29.  
  30. panel = (JPanel) frame.getContentPane();
  31. panel.setPreferredSize(new Dimension(width, height));
  32. panel.setLayout(null);
  33. panel.add(this);
  34.  
  35. frame.setVisible(true);
  36. frame.setTitle("Canvas Test");
  37. frame.setLocation(screenCenter);
  38. frame.setSize(width + 16, height + 36);
  39. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  40. frame.pack();
  41. frame.setResizable(true);
  42. frame.setVisible(true);
  43.  
  44. setBounds(0, 0, screenSize.width, screenSize.height);
  45.  
  46. createBufferStrategy(2);
  47. strategy = getBufferStrategy();
  48.  
  49. frame.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
  50.  
  51. final double TIME_BETWEEN_UPDATES = 1000 / 50;
  52.  
  53. while(true)
  54. {
  55. long startTime = System.currentTimeMillis();
  56.  
  57. Graphics2D g2d = (Graphics2D) strategy.getDrawGraphics();
  58.  
  59. //* DRAW STUFF HERE *//
  60.  
  61. g2d.drawOval(150, 150, 75, 75);
  62. g2d.setColor(Color.red);
  63. g2d.fill3DRect(60, 60, 60, 60, true);
  64.  
  65. g2d.dispose();
  66. strategy.show();
  67. Toolkit.getDefaultToolkit().sync();
  68.  
  69. long waitTime = (long) (TIME_BETWEEN_UPDATES - ((System.currentTimeMillis() - startTime) + 0.5));
  70. try
  71. {
  72. Thread.sleep(waitTime);
  73. }
  74. catch(Throwable t)
  75. {
  76. }
  77. }
  78. }
  79. catch(Throwable t)
  80. {
  81. System.out.println("Fuck you");
  82. System.exit(0);
  83. }
  84. }
  85. }
Add Comment
Please, Sign In to add comment