Advertisement
dluciv

Simple example of Java paint override

Nov 26th, 2012
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.61 KB | None | 0 0
  1. package ru.spbu.math.dluciv.anagy;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. class AnaGy extends JFrame {
  7.     private JPanel graphPanel;
  8.  
  9.     public AnaGy () {
  10.         super();
  11.         initFrame();
  12.     }
  13.  
  14.     private void initFrame() {
  15.         // Создать экземпляр наследника JPanel, который дорисует необходимое
  16.         graphPanel = new JPanel () {
  17.                 // Переопределить метод paint
  18.                 public void paint(Graphics g){
  19.                     // не забыв вызвать метод предка
  20.                     super.paint(g);
  21.                     // и показать хороший вкус =)
  22.                     ((Graphics2D)g).setRenderingHint(
  23.                         RenderingHints.KEY_ANTIALIASING,
  24.                         RenderingHints.VALUE_ANTIALIAS_ON);
  25.  
  26.                     // для тладки можно выводить, когда paint вызывается
  27.                     // System.out.println("paint invoked");
  28.  
  29.                     // собственно содержательная часть
  30.                     g.drawOval(10, 10, 50, 30);
  31.                 }
  32.             };
  33.  
  34.         setSize(400, 300);
  35.         setTitle("Аналитическая геометрия");
  36.         getContentPane().add(graphPanel);
  37.  
  38.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  39.     }
  40.  
  41.     // compile: javac -d . -encoding utf8 AnaGy.java
  42.     // run: java ru.spbu.math.dluciv.anagy.AnaGy
  43.     public static void main(String [] args){
  44.         new AnaGy().setVisible(true);
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement