YauhenMardan

works

Nov 23rd, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 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=null;
  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.drawImage(dbImage,0,0,this);
  43. }
  44. };
  45. panel.setDoubleBuffered(true);
  46. this.add(panel, BorderLayout.CENTER);
  47. panel.setFocusable(true);
  48. //window
  49. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  50. setSize(new Dimension(WINDOW_SIZE_X,WINDOW_SIZE_Y));
  51. setResizable(false);
  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. if(dbImage==null) {
  66. dbImage = createImage(WINDOW_SIZE_X, WINDOW_SIZE_Y);
  67. }
  68. Graphics dbGraphics=dbImage.getGraphics();
  69. graphics.drawLine(prevMouseCoordX,prevMouseCoordY,e.getX(),e.getY());
  70. dbGraphics.drawLine(prevMouseCoordX,prevMouseCoordY,e.getX(),e.getY());
  71. prevMouseCoordX=e.getX();
  72. prevMouseCoordY=e.getY();
  73. }
  74. });
  75. }
  76. }
  77.  
  78. class PaintPanel extends JPanel{
  79.  
  80.  
  81. protected void paintComponent(Graphics g){
  82. super.paintComponent(g);
  83. g.drawLine(100,100,200,200);
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment