22 package com.realtime.crossfire.jxclient.gui.misc;
29 import java.awt.Color;
30 import java.awt.Dimension;
31 import java.awt.Graphics;
32 import java.awt.Transparency;
33 import java.awt.event.MouseEvent;
34 import org.jetbrains.annotations.NotNull;
35 import org.jetbrains.annotations.Nullable;
115 super(tooltipManager, elementListener, name, Transparency.OPAQUE);
120 this.scrollable.addScrollableListener(
this);
136 public void setRange(
final int valueMin,
final int valueMax,
final int sliderPos,
final int sliderSize) {
137 if (valueMax <= valueMin) {
138 throw new IllegalArgumentException(
"valueMax="+valueMax+
" <= "+valueMin+
"="+valueMin);
140 if (sliderSize <= 0) {
141 throw new IllegalArgumentException(
"sliderSize="+sliderSize+
" <= 0");
146 this.sliderSize = Math.min(sliderSize, valueSize);
162 super.mousePressed(e);
163 switch (e.getButton()) {
164 case MouseEvent.BUTTON1:
168 scrollable.
scrollTo(sliderPos-sliderSize);
169 }
else if (offset >= sh) {
170 scrollable.
scrollTo(sliderPos+sliderSize);
176 case MouseEvent.BUTTON2:
179 case MouseEvent.BUTTON3:
189 super.mouseReleased(e);
190 switch (e.getButton()) {
191 case MouseEvent.BUTTON1:
195 case MouseEvent.BUTTON2:
198 case MouseEvent.BUTTON3:
208 super.mouseDragged(e);
228 return (
int)Math.round(yPixels*(
double)(valueSize-sliderSize)/(getHeight()-
getSliderHeightPixels()));
236 @SuppressWarnings(
"IfMayBeConditional")
238 if (pos < valueMin) {
240 }
else if (pos+sliderSize > valueMin+valueSize) {
270 super.paintComponent(g);
274 g.fillRect(0, 0, getWidth(), sy);
275 g.fillRect(0, sy+sh, getWidth(), getHeight()-sy-sh);
277 g.fillRect(0, sy, getWidth(), sh);
286 return new Dimension(16, 64);
295 return new Dimension(16, 16);
Listener for GUIElement related events.
final TooltipManager tooltipManager
The TooltipManager to update.
final GUIElementListener elementListener
The GUIElementListener to notify.
void setChanged()
Records that the contents have changed and must be repainted.
final String name
The name of this element.
A GUIElement that can be set to active or inactive.