Axis.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package model;
  2. import java.awt.*;
  3. /**
  4. * @author duh
  5. * @create 2018/7/18 18:58
  6. * @email duh@elab-plus.com
  7. **/
  8. public class Axis extends ModuleInAxis {
  9. private int xLength;
  10. private int yLength;
  11. private int xSpacing;
  12. private int ySpacing;
  13. private int spacingLength = 5;
  14. @Override
  15. public void drawSelf(Graphics g) {
  16. System.out.println("begin to draw axis");
  17. Graphics2D g2d = (Graphics2D) g.create();
  18. g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  19. g2d.setColor(Color.RED);
  20. int axisX = x;
  21. int axisY = y;
  22. g2d.drawString("0",axisX,axisY+10);
  23. drawXAxis(axisX,axisY,xLength,g2d);
  24. drawYAxis(axisX,axisY,yLength,g2d);
  25. g2d.dispose();
  26. }
  27. private void drawXAxis(int x1, int y1, int length, Graphics2D g2d){
  28. g2d.drawLine(x1,y1,x1+length,y1);
  29. int xNumber = length/xSpacing;
  30. for(int i = 1;i<xNumber;i++){
  31. g2d.drawLine(x1+i*xSpacing,y1,x1+i*xSpacing,y1+spacingLength);
  32. }
  33. }
  34. private void drawYAxis(int x1, int y1, int length, Graphics2D g2d){
  35. g2d.drawLine(x1,y1,x1,y1-length);
  36. int yNumber = length/ySpacing;
  37. for(int i = 1;i<yNumber;i++){
  38. g2d.drawLine(x1,y1-i*ySpacing,x1-spacingLength,y1-i*ySpacing);
  39. }
  40. }
  41. public int getxLength() {
  42. return xLength;
  43. }
  44. public void setxLength(int xLength) {
  45. this.xLength = xLength;
  46. }
  47. public int getyLength() {
  48. return yLength;
  49. }
  50. public void setyLength(int yLength) {
  51. this.yLength = yLength;
  52. }
  53. public int getxSpacing() {
  54. return xSpacing;
  55. }
  56. public void setxSpacing(int xSpacing) {
  57. this.xSpacing = xSpacing;
  58. }
  59. public int getySpacing() {
  60. return ySpacing;
  61. }
  62. public void setySpacing(int ySpacing) {
  63. this.ySpacing = ySpacing;
  64. }
  65. }