Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.RenderingHints;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseMotionAdapter;
- import javax.swing.JButton;
- import javax.swing.JComponent;
- import javax.swing.JFrame;
- public class Teikna {
- public static void main(String[] args) {
- JFrame frame = new JFrame();
- final DrawPad drawPad = new DrawPad();
- frame.add(drawPad, BorderLayout.CENTER);
- JButton clearButton = new JButton("Clear");
- clearButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- drawPad.clear();
- }
- });
- frame.add(clearButton, BorderLayout.SOUTH);
- frame.setSize(280, 300);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setVisible(true);
- }
- }
- class DrawPad extends JComponent {
- Image image;
- Graphics2D graphics2D;
- int currentX, currentY, oldX, oldY;
- public DrawPad() {
- setDoubleBuffered(false);
- addMouseListener(new MouseAdapter() {
- public void mousePressed(MouseEvent e) {
- oldX = e.getX();
- oldY = e.getY();
- }
- });
- addMouseMotionListener(new MouseMotionAdapter() {
- public void mouseDragged(MouseEvent e) {
- currentX = e.getX();
- currentY = e.getY();
- if (graphics2D != null)
- graphics2D.drawLine(oldX, oldY, currentX, currentY);
- repaint();
- oldX = currentX;
- oldY = currentY;
- }
- });
- }
- public void paintComponent(Graphics g) {
- if (image == null) {
- image = createImage(getSize().width, getSize().height);
- graphics2D = (Graphics2D) image.getGraphics();
- graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
- RenderingHints.VALUE_ANTIALIAS_ON);
- clear();
- }
- g.drawImage(image, 0, 0, null);
- }
- public void clear() {
- graphics2D.setPaint(Color.white);
- graphics2D.fillRect(0, 0, getSize().width, getSize().height);
- graphics2D.setPaint(Color.black);
- repaint();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement