Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.image.*;
- import java.text.AttributedCharacterIterator;
- import javax.swing.*;
- public class GraphicsTest {
- public static void main(String[] args) {
- new GraphicsTest();
- }
- public GraphicsTest () {
- JFrame frame = new JFrame();
- frame.getContentPane().add(new MyPanel());
- frame.setSize(500,500);
- frame.setVisible(true);
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {}
- System.out.println("Using my graphics - expect to see 'MyGraphics' next");
- frame.paint(new MyGraphics());
- }
- class MyPanel extends JPanel {
- public void paint (Graphics g) {
- super.paint(g);
- System.out.println("Graphics is "+g);
- g.fillRect(10, 10, 20, 20);
- }
- }
- class MyGraphics extends Graphics {
- public String toString () {
- return "MyGraphics";
- }
- public Graphics create() {
- return this;
- }
- // I've left out the huge list of abstract methods from the original script
- // since they're unchanged from the defaults and don't really matter here.
- }
- RepaintManager.currentManager(frame).setDoubleBufferingEnabled(false);
- frame.paint(new MyGraphics());
- RepaintManager.currentManager(frame).setDoubleBufferingEnabled(true);
- RepaintManager.currentManager(frame).setDoubleBufferingEnabled(false);
- frame.paint(new MyGraphics());
- RepaintManager.currentManager(frame).setDoubleBufferingEnabled(true);
- RepaintManager.currentManager(frame).setDoubleBufferingEnabled(false);
- frame.paint(new MyGraphics());
- RepaintManager.currentManager(frame).setDoubleBufferingEnabled(true);
Add Comment
Please, Sign In to add comment