YauhenMardan

Untitled

Nov 23rd, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javax.imageio.ImageIO;
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import java.awt.event.*;
  7. import java.awt.image.BufferedImage;
  8. import java.net.URL;
  9.  
  10. import java.awt.*;
  11. import javax.swing.*;
  12.  
  13. public class WindowApp extends JFrame {
  14. private JPanel panel;
  15. private JLabel label;
  16.  
  17. private final static int WINDOW_SIZE_X=500;
  18. private final static int WINDOW_SIZE_Y=500;
  19.  
  20. private int prevMouseCoordX;
  21. private int prevMouseCoordY;
  22. private int currMouseCoordX;
  23. private int currMouseCoordY;
  24.  
  25. private Image dbImage;
  26.  
  27. WindowApp(){
  28. //label
  29. label=new JLabel();
  30. this.add(label,BorderLayout.SOUTH);
  31. //panel
  32. panel = new JPanel(){
  33. @Override
  34. public void paint(Graphics g){
  35. dbImage=createImage(WINDOW_SIZE_X,WINDOW_SIZE_Y);
  36. Graphics Graphics=dbImage.getGraphics();
  37. paintComponent(Graphics);
  38. g.drawImage(dbImage,0,0,this);
  39. }
  40. @Override
  41. public void paintComponent(Graphics g){
  42. g.drawLine(prevMouseCoordX,prevMouseCoordY,currMouseCoordX,currMouseCoordY);
  43. //g.drawOval(prevMouseCoordX,prevMouseCoordY,10,10);
  44. }
  45. };
  46. panel.setDoubleBuffered(true);
  47. this.add(panel, BorderLayout.CENTER);
  48. panel.setFocusable(true);
  49. //window
  50. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  51. setSize(new Dimension(WINDOW_SIZE_X,WINDOW_SIZE_Y));
  52. //listeners
  53. panel.addMouseListener(new MouseAdapter() {
  54. @Override
  55. public void mousePressed(MouseEvent e) {
  56. super.mousePressed(e);
  57. prevMouseCoordX=e.getX();
  58. prevMouseCoordY=e.getY();
  59. }
  60. });
  61. panel.addMouseMotionListener(new MouseMotionAdapter() {
  62. @Override
  63. public void mouseDragged(MouseEvent e) {
  64. Graphics graphics=panel.getGraphics();
  65. dbImage.get
  66. }
  67. });
  68. }
  69. }
  70.  
  71. class PaintPanel extends JPanel{
  72.  
  73.  
  74. protected void paintComponent(Graphics g){
  75. super.paintComponent(g);
  76. g.drawLine(100,100,200,200);
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment