Changeset 8edd04e in lost-haven for gamegui/ScrollBar.java
- Timestamp:
- Jun 7, 2020, 3:04:32 PM (5 years ago)
- Branches:
- master
- Children:
- a49176d
- Parents:
- 155577b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gamegui/ScrollBar.java
r155577b r8edd04e 2 2 3 3 import java.awt.*; 4 import java.awt.event. *;4 import java.awt.event.MouseEvent; 5 5 6 6 public class ScrollBar extends Member { 7 int size;8 int position;9 int scrollSpeed;10 11 public ScrollBar(String newName, int newX, int newY, int newWidth, int newHeight, int newScrollSpeed) {12 super(newName, newX, newY, newWidth, newHeight);13 14 size = 0;15 position = 0;16 scrollSpeed = newScrollSpeed;17 }18 19 public void clear() {20 size = 0;21 position = 0;22 }23 24 public boolean handleEvent(MouseEvent e) {25 if(!(getX() < e.getX() && e.getX() < getX()+getWidth() && getY() < e.getY() && e.getY() < getY()+getHeight()))26 return false;27 else28 return true;29 }30 31 public void draw(Graphics g) {32 g.setColor(Color.black);33 g.fillRect(getX(), getY(), getWidth(), getHeight());34 35 g.setColor(Color.red);36 g.drawRect(getX(), getY(), getWidth(), getHeight());37 38 g.drawLine(getX(), getY()+getWidth(), getX()+getWidth(), getY()+getWidth());39 g.drawLine(getX(), getY()+getHeight()-getWidth(), getX()+getWidth(), getY()+getHeight()-getWidth());40 41 g.drawLine(getX(), getY()+getWidth()+position, getX()+getWidth(), getY()+getWidth()+position);42 g.drawLine(getX(), getY()+getWidth()+position+size, getX()+getWidth(), getY()+getWidth()+position+size);43 44 g.drawLine(getX()+getWidth()*3/20, getY()+getWidth()*17/20, getX()+getWidth()*17/20, getY()+getWidth()*17/20);45 g.drawLine(getX()+getWidth()*17/20, getY()+getWidth()*17/20, getX()+getWidth()/2, getY()+getWidth()*3/20);46 g.drawLine(getX()+getWidth()/2, getY()+getWidth()*3/20, getX()+getWidth()*3/20, getY()+getWidth()*17/20);47 48 g.drawLine(getX()+getWidth()*3/20, getY()+getHeight()-getWidth()*17/20, getX()+getWidth()*17/20, getY()+getHeight()-getWidth()*17/20);49 g.drawLine(getX()+getWidth()*17/20, getY()+getHeight()-getWidth()*17/20, getX()+getWidth()/2, getY()+getHeight()-getWidth()*3/20);50 g.drawLine(getX()+getWidth()/2, getY()+getHeight()-getWidth()*3/20, getX()+getWidth()*3/20, getY()+getHeight()-getWidth()*17/20);51 }52 7 53 public int getPosition() { 54 returnposition;55 } 8 int size; 9 int position; 10 int scrollSpeed; 56 11 57 public int getScrollSpeed() { 58 return scrollSpeed; 59 } 12 public ScrollBar(String newName, int newX, int newY, int newWidth, int newHeight, int newScrollSpeed) { 13 super(newName, newX, newY, newWidth, newHeight); 14 this.size = 0; 15 this.position = 0; 16 this.scrollSpeed = newScrollSpeed; 17 } 60 18 61 public int getSize() { 62 return size; 63 } 64 65 public int getMaxSize() { 66 return getHeight()-2*getWidth(); 67 } 19 public void clear() { 20 this.size = 0; 21 this.position = 0; 22 } 68 23 69 public void setPosition(int position) { 70 this.position = position; 71 } 72 73 public void setSize(int size) { 74 this.size = size; 75 } 24 public boolean handleEvent(MouseEvent e) { 25 if (getX() >= e.getX() || e.getX() >= getX() + getWidth() || getY() >= e.getY() || e.getY() >= getY() + getHeight()) { 26 return false; 27 } 28 return true; 29 } 30 31 public void draw(Graphics g) { 32 g.setColor(Color.black); 33 g.fillRect(getX(), getY(), getWidth(), getHeight()); 34 g.setColor(Color.red); 35 g.drawRect(getX(), getY(), getWidth(), getHeight()); 36 g.drawLine(getX(), getY() + getWidth(), getX() + getWidth(), getY() + getWidth()); 37 g.drawLine(getX(), getY() + getHeight() - getWidth(), getX() + getWidth(), getY() + getHeight() - getWidth()); 38 g.drawLine(getX(), getY() + getWidth() + this.position, getX() + getWidth(), getY() + getWidth() + this.position); 39 g.drawLine(getX(), getY() + getWidth() + this.position + this.size, getX() + getWidth(), getY() + getWidth() + this.position + this.size); 40 g.drawLine(getX() + getWidth() * 3 / 20, getY() + getWidth() * 17 / 20, getX() + getWidth() * 17 / 20, getY() + getWidth() * 17 / 20); 41 g.drawLine(getX() + getWidth() * 17 / 20, getY() + getWidth() * 17 / 20, getX() + getWidth() / 2, getY() + getWidth() * 3 / 20); 42 g.drawLine(getX() + getWidth() / 2, getY() + getWidth() * 3 / 20, getX() + getWidth() * 3 / 20, getY() + getWidth() * 17 / 20); 43 g.drawLine(getX() + getWidth() * 3 / 20, getY() + getHeight() - getWidth() * 17 / 20, getX() + getWidth() * 17 / 20, getY() + getHeight() - getWidth() * 17 / 20); 44 g.drawLine(getX() + getWidth() * 17 / 20, getY() + getHeight() - getWidth() * 17 / 20, getX() + getWidth() / 2, getY() + getHeight() - getWidth() * 3 / 20); 45 g.drawLine(getX() + getWidth() / 2, getY() + getHeight() - getWidth() * 3 / 20, getX() + getWidth() * 3 / 20, getY() + getHeight() - getWidth() * 17 / 20); 46 } 47 48 public int getPosition() { 49 return this.position; 50 } 51 52 public int getScrollSpeed() { 53 return this.scrollSpeed; 54 } 55 56 public int getSize() { 57 return this.size; 58 } 59 60 public int getMaxSize() { 61 return getHeight() - 2 * getWidth(); 62 } 63 64 public void setPosition(int position) { 65 this.position = position; 66 } 67 68 public void setSize(int size) { 69 this.size = size; 70 } 76 71 }
Note:
See TracChangeset
for help on using the changeset viewer.