Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import javax.imageio.ImageIO;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import java.awt.image.BufferedImage;
- import java.net.URL;
- import java.awt.*;
- import javax.swing.*;
- public class WindowApp extends JFrame {
- private JPanel panel;
- private JLabel label;
- private final static int WINDOW_SIZE_X=500;
- private final static int WINDOW_SIZE_Y=500;
- private int prevMouseCoordX;
- private int prevMouseCoordY;
- private int currMouseCoordX;
- private int currMouseCoordY;
- private Image dbImage=null;
- WindowApp(){
- //label
- label=new JLabel();
- this.add(label,BorderLayout.SOUTH);
- //panel
- panel = new JPanel(){
- // @Override
- // public void paint(Graphics g){
- //// dbImage=createImage(WINDOW_SIZE_X,WINDOW_SIZE_Y);
- //// Graphics Graphics=dbImage.getGraphics();
- //// paintComponent(Graphics);
- //// g.drawImage(dbImage,0,0,this);
- // }
- @Override
- public void paintComponent(Graphics g){
- g.drawImage(dbImage,0,0,this);
- }
- };
- panel.setDoubleBuffered(true);
- this.add(panel, BorderLayout.CENTER);
- panel.setFocusable(true);
- //window
- setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- setSize(new Dimension(WINDOW_SIZE_X,WINDOW_SIZE_Y));
- setResizable(false);
- //listeners
- panel.addMouseListener(new MouseAdapter() {
- @Override
- public void mousePressed(MouseEvent e) {
- super.mousePressed(e);
- prevMouseCoordX=e.getX();
- prevMouseCoordY=e.getY();
- }
- });
- panel.addMouseMotionListener(new MouseMotionAdapter() {
- @Override
- public void mouseDragged(MouseEvent e) {
- Graphics graphics=panel.getGraphics();
- if(dbImage==null) {
- dbImage = createImage(WINDOW_SIZE_X, WINDOW_SIZE_Y);
- }
- Graphics dbGraphics=dbImage.getGraphics();
- graphics.drawLine(prevMouseCoordX,prevMouseCoordY,e.getX(),e.getY());
- dbGraphics.drawLine(prevMouseCoordX,prevMouseCoordY,e.getX(),e.getY());
- prevMouseCoordX=e.getX();
- prevMouseCoordY=e.getY();
- }
- });
- }
- }
- class PaintPanel extends JPanel{
- protected void paintComponent(Graphics g){
- super.paintComponent(g);
- g.drawLine(100,100,200,200);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment