public class RolovaciaLišta extends JScrollBar implements Poloha
Trieda RolovaciaLišta
uzatvára a rozširuje funkciu triedy
Javy JScrollBar
. Polohovanie a prilepovanie líšt
je rovnaké ako pri triede Tlačidlo
, ale komponenty
lišty majú navyše možnosť zapnutia automatickej zmeny veľkosti podľa
práve zobrazenej časti plátna.
Poznámka: Pri podrobnom testovaní funkčnosti
rolovacej lišty sa ukázalo, že predvolená implementácia triedy
JScrollBar
nie je príliš dokonalá. Rolovacie
lišty fungujú dokonale v súčinnosti s rolovacím panelom
JScrollPane
, ktorý v rámci programovacieho
rámca nie je použiteľný z dôvodu jej komplexnosti a samostatné použitie
líšt je menej funkčné. S najväčšou pravdepodobnosťou je príčinou
predvolene používaný model ohraničeného rozsahu, ktorý nerozlišuje
medzi rôznymi typmi udalostí. Implementácia nedokáže rozlíšiť, či
bola hodnota posunu lišty zmenená v dôsledku externej žiadosti alebo
v dôsledku vnútorného posunu prostredníctvom tlačidiel so šípkami,
v dôsledku čoho nie sú v rámci tejto programovacieho rámca tlačidlá šípok
na lište použiteľné. Rôzne pokusy o obídenie tohto problému situáciu len
zhoršovali. Dokedy nevznikne iná implementácia, treba sa zmieriť
s tým, že tlačidlá líšt jednoducho nefungujú. Zdrojové kódy
niektorých implementácií, ktoré by mohli poslúžiť ako vzory
do budúcna, sú dostupné tu: grepcode.com, developer.classpath.org, book2s.com. Zálohy zdrojových kódov
z 28. 10. 2017 sú dostupné v tomto balíčku (7z).
Príklad:
V tomto príklade je poloha grafického robota ovládaná lištami a kolieskom myši. Obidva spôsoby ovládania sú prepojené aktualizáciou polôh líšt pri každej zmene polohy robota kolieskom. Všimnite si, že zmena hodnoty rolovacej lišty smie vyvolať akciu (zmenu polohy robota) len v prípade, že je ťahaná. Inak by vznikala neželaná spätná väzba a mechanizmus by nefungoval tak, ako má.
import
knižnica.*;import
static
knižnica.Svet
.*;import
static
knižnica.ÚdajeUdalostí
.*;public
class
TestRolovacíchLíštextends
GRobot
{private
RolovaciaLišta
zvislá, vodorovná;// Konštruktor…
private
TestRolovacíchLíšt() {// Vytvorenie obrázka pre tlačidlo
Obrázok
obrázok =new
Obrázok
(20
,20
); obrázok.vyplň
(šedá
.svetlejšia
());// Vytvorenie tlačidla, ktoré umiestnime do rohu medzi lišty
Tlačidlo
tlačidlo =new
Tlačidlo
(obrázok); tlačidlo.deaktivuj
(); tlačidlo.obrázokDeaktivovaného
(obrázok); tlačidlo.prilepVpravo
(); tlačidlo.prilepDole
();// Vytvorenie zvislej rolovacej lišty
zvislá =new
RolovaciaLišta
(ZVISLÁ
); zvislá.skoč
(0
,20
); zvislá.prilepVpravo
(); zvislá.roztiahniNaVýšku
(); zvislá.spodnáHranica
(-výška
() /2
); zvislá.hornáHranica
(výška
() /2
);// Vytvorenie vodorovnej rolovacej lišty
vodorovná =new
RolovaciaLišta
(VODOROVNÁ
); vodorovná.skoč
(-20
,0
); vodorovná.prilepDole
(); vodorovná.roztiahniNaŠírku
(); vodorovná.spodnáHranica
(-šírka
() /2
); vodorovná.hornáHranica
(šírka
() /2
); }@
Overridepublic
void
rolovanieKolieskomMyši
() {// Posun robota podľa hodnôt rolovania
choď
(rolovanieKolieskomMyšiX
(),rolovanieKolieskomMyšiY
());// Obmedzenie polohy robota tak, aby sa pohyboval len v rámci
// hraníc posuvných líšt, ale by lištám neprekážalo, ani keby
// robot vyšiel poza hranice, leby nedokázali zobraziť polohu
// mimo týchto hraníc…
if
(polohaX
() < -šírka
() /2
)polohaX
(-šírka
() /2
);if
(polohaX
() >šírka
() /2
)polohaX
(šírka
() /2
);if
(polohaY
() < -výška
() /2
)polohaY
(-výška
() /2
);if
(polohaY
() >výška
() /2
)polohaY
(výška
() /2
);// Aktualizácia posunov líšt
vodorovná.posun
((int
)polohaX
()); zvislá.posun
(-(int
)polohaY
()); }// Reakcia na udalosť posunu lišty
@
Overridepublic
void
zmenaPosunuLišty
() {// Treba vždy overiť, či ide o udalosť ťahania lištou, alebo
// udalosť spôsobenú aktualizáciou hodnoty lišty (napríklad pri
// vytvorení lišty alebo v reakcii rolovanieKolieskomMyši vyššie):
if
(rolovaciaLišta
().jeŤahaná
()) {// Robotom hýbeme len v prípade, že išlo o udalosť ťahania lištou…
if
(vodorovná ==rolovaciaLišta
()) {choďNa
(posunRolovacejLišty
(),polohaY
()); }else
if
(zvislá ==rolovaciaLišta
()) {choďNa
(polohaX
(), -posunRolovacejLišty
()); } } }// Hlavná metóda…
public
static
void
main(String
... args) {použiKonfiguráciu
("TestRolovacíchLíšt.cfg"
);new
TestRolovacíchLíšt(); } }
JScrollBar.AccessibleJScrollBar
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifikátor a typ | Atribút a opis |
---|---|
protected int |
šírka
Parameter polohy alebo veľkosti rolovacej lišty.
|
protected int |
výška
Parameter polohy alebo veľkosti rolovacej lišty.
|
protected int |
x
Parameter polohy alebo veľkosti rolovacej lišty.
|
protected int |
y
Parameter polohy alebo veľkosti rolovacej lišty.
|
blockIncrement, model, orientation, unitIncrement
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
HORIZONTAL, NO_ORIENTATION, VERTICAL
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Konštruktor a opis |
---|
RolovaciaLišta()
Vytvorí zvislú rolovaciu lištu v strede plátna.
|
RolovaciaLišta(int orientácia)
|
RolovaciaLišta(int orientácia,
int posun,
int veľkosťOblasti,
int spodnáHranica,
int hornáHranica)
|
Modifikátor a typ | Metóda a opis |
---|---|
int |
blokovyPrirastok()
![]() blokovýPrírastok . |
int |
blokovýPrírastok()
Zistí blokový prírastok pohybu tejto rolovacej lišty.
|
void |
blokovyPrirastok(int blokovýPrírastok)
![]() blokovýPrírastok . |
void |
blokovýPrírastok(int blokovýPrírastok)
Určí blokový prírastok pohybu tejto rolovacej lišty.
|
int |
dolnaHranica()
![]() spodnáHranica . |
int |
dolnáHranica()
![]() spodnáHranica . |
void |
dolnaHranica(int spodnáHranica)
![]() spodnáHranica . |
void |
dolnáHranica(int spodnáHranica)
![]() spodnáHranica . |
int |
hornaHranica()
![]() hornáHranica . |
int |
hornáHranica()
Zistí hornú hranicu rozsahu povolených hodnôt pre túto lištu.
|
void |
hornaHranica(int hornáHranica)
![]() hornáHranica . |
void |
hornáHranica(int hornáHranica)
Aktualizuje spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
|
boolean |
isVisible()
Zistí, či je rolovacia lišta viditeľná (zobrazená) alebo nie.
|
int |
jednotkovyPrirastok()
![]() jednotkovýPrírastok . |
int |
jednotkovýPrírastok()
Zistí jednotkový prírastok pohybu tejto rolovacej lišty.
|
void |
jednotkovyPrirastok(int jednotkovýPrírastok)
![]() jednotkovýPrírastok . |
void |
jednotkovýPrírastok(int jednotkovýPrírastok)
Určí jednotkový prírastok pohybu tejto rolovacej lišty.
|
boolean |
jeNa(double x,
double y)
Overí, či sa poloha tejto rolovacej lišty dokonale zhoduje so
zadanými súradnicami.
|
boolean |
jeNa(Poloha poloha)
Overí, či sa poloha tejto rolovacej lišty a poloha zadaného
objektu dokonale zhodujú.
|
boolean |
jeTahana()
![]() jeŤahaná . |
boolean |
jeŤahaná()
Overí, či je lišta práve ťahaná, čo je dôležité rozlišovať pri
obsluhe udalostí.
|
boolean |
jeV(Okno okno)
Zistí, či je táto rolovacia lišta umiestnená v zadanom okne.
|
void |
neroztahuj()
![]() nerozťahuj . |
void |
nerozťahuj()
Zruší roztiahnutie rolovacej lišty v oboch smeroch.
|
void |
odlep()
Odlepí rolovaciu lištu od všetkých okrajov.
|
int |
orientacia()
![]() orientácia . |
int |
orientácia()
Vráti celočíselnú hodnotu konštanty určujúcej orientáciu tejto lišty.
|
void |
orientacia(int orientácia)
![]() orientácia . |
void |
orientácia(int orientácia)
Zmení orientáciu tejto lišty.
|
Bod |
poloha()
Vráti aktuálnu polohu rolovacej lišty.
|
void |
poloha(double x,
double y)
Presunie rolovaciu lištu na zadané súradnice
x , y . |
void |
poloha(Poloha objekt)
Presunie rolovaciu lištu na súradnice zadaného objektu.
|
double |
polohaX()
|
void |
polohaX(double novéX)
|
double |
polohaY()
|
void |
polohaY(double novéY)
|
int |
posun()
Overí aktuálnu hodnotu posunu rolovacej lišty.
|
void |
posun(int posun)
Nastaví novú hodnotu posunu tejto lišty.
|
RolovaciaLišta |
prenes(Okno okno,
boolean tam)
Prenesie rolovaciu lištu zo sveta do určeného okna alebo späť.
|
void |
prilepDole()
Prilepí rolovaciu lištu k dolnému okraju.
|
void |
prilepHore()
Prilepí rolovaciu lištu k hornému okraju.
|
void |
prilepVlavo()
![]() prilepVľavo . |
void |
prilepVľavo()
Prilepí rolovaciu lištu k ľavému okraju.
|
void |
prilepVpravo()
Prilepí rolovaciu lištu k pravému okraju.
|
void |
roztiahniHorizontalne()
![]() roztiahniNaŠírku . |
void |
roztiahniHorizontálne()
![]() roztiahniNaŠírku . |
void |
roztiahniNaSirku()
![]() roztiahniNaŠírku . |
void |
roztiahniNaŠírku()
Roztiahne rolovaciu lištu na celú šírku zobrazovanej plochy tak,
aby bola celá viditeľná, čoho dôsledkom je aj to, že najväčšia
možná šírka lišty je rovná šírke plátien sveta.
|
void |
roztiahniNaVysku()
![]() roztiahniNaVýšku . |
void |
roztiahniNaVýšku()
Roztiahne rolovaciu lištu na celú výšku zobrazovanej plochy tak,
aby bola celá viditeľná, čoho dôsledkom je aj to, že najväčšia
možná výška lišty je rovná výške plátien sveta.
|
void |
roztiahniVertikalne()
![]() roztiahniNaVýšku . |
void |
roztiahniVertikálne()
![]() roztiahniNaVýšku . |
void |
roztiahniVodorovne()
![]() roztiahniNaŠírku . |
void |
roztiahniZvislo()
![]() roztiahniNaVýšku . |
void |
setVisible(boolean zobraz)
Zobrazí alebo skryhe rolovaciu lištu podľa parametra
zobraz . |
int |
sirka()
![]() šírka . |
void |
sirka(int nováŠírka)
![]() šírka . |
void |
skoc(double Δx,
double Δy)
![]() skoč . |
void |
skocNa(double x,
double y)
![]() poloha . |
void |
skocNa(Poloha objekt)
![]() poloha . |
void |
skoč(double Δx,
double Δy)
Presunie rolovaciu lištu o zadaný počet bodov v horizontálnom
a vertikálnom smere.
|
void |
skočNa(double x,
double y)
![]() poloha . |
void |
skočNa(Poloha objekt)
![]() poloha . |
void |
skry()
Skryje rolovaciu lištu.
|
int |
spodnaHranica()
![]() spodnáHranica . |
int |
spodnáHranica()
Zistí spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
|
void |
spodnaHranica(int spodnáHranica)
![]() spodnáHranica . |
void |
spodnáHranica(int spodnáHranica)
Aktualizuje spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
|
double |
suradnicaX()
![]() polohaX . |
double |
súradnicaX()
![]() polohaX . |
void |
suradnicaX(double novéX)
![]() polohaX . |
void |
súradnicaX(double novéX)
![]() polohaX . |
double |
suradnicaY()
![]() polohaY . |
double |
súradnicaY()
![]() polohaY . |
void |
suradnicaY(double novéY)
![]() polohaY . |
void |
súradnicaY(double novéY)
![]() polohaY . |
int |
šírka()
|
void |
šírka(int nováŠírka)
|
int |
velkostOblasti()
![]() veľkosťOblasti . |
int |
veľkosťOblasti()
Zistí veľkosť oblasti, ktorú má lišta nastavenú ako aktuálnu
šírku alebo výšku „okna.“ Ide o veľkosť tej časti zobrazenia,
ktorá má byť naraz viditeľná.
|
void |
velkostOblasti(int veľkosťOblasti)
![]() veľkosťOblasti . |
void |
veľkosťOblasti(int veľkosťOblasti)
Nastaví novú veľkosť viditeľnej oblasti vzťahujúcej sa k rozsahu
tejto lišty.
|
boolean |
viditelna()
![]() viditeľná . |
boolean |
viditeľná()
Zistí, či je rolovacia lišta viditeľná (zobrazená) alebo nie
|
int |
vrchnaHranica()
![]() hornáHranica . |
int |
vrchnáHranica()
![]() hornáHranica . |
void |
vrchnaHranica(int hornáHranica)
![]() hornáHranica . |
void |
vrchnáHranica(int hornáHranica)
![]() hornáHranica . |
int |
vyska()
![]() výška . |
void |
vyska(int nováVýška)
![]() výška . |
int |
výška()
|
void |
výška(int nováVýška)
|
void |
zobraz()
Zobrazí rolovaciu lištu.
|
boolean |
zobrazena()
![]() zobrazená . |
boolean |
zobrazená()
Zistí, či je rolovacia lišta viditeľná (zobrazená) alebo nie
|
addAdjustmentListener, fireAdjustmentValueChanged, getAccessibleContext, getAdjustmentListeners, getBlockIncrement, getBlockIncrement, getMaximum, getMaximumSize, getMinimum, getMinimumSize, getModel, getOrientation, getUI, getUIClassID, getUnitIncrement, getUnitIncrement, getValue, getValueIsAdjusting, getVisibleAmount, paramString, removeAdjustmentListener, setBlockIncrement, setEnabled, setMaximum, setMinimum, setModel, setOrientation, setUI, setUnitIncrement, setValue, setValueIsAdjusting, setValues, setVisibleAmount, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getĎalšieFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintComponent, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printComponent, printChildren, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setĎalšieFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMetódy, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, checkImage, checkImage, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected int x
Parameter polohy alebo veľkosti rolovacej lišty.
(Toto je opis spoločný pre štyri chránené atribúty.)
protected int y
Parameter polohy alebo veľkosti rolovacej lišty.
(Toto je opis spoločný pre štyri chránené atribúty.)
protected int šírka
Parameter polohy alebo veľkosti rolovacej lišty.
(Toto je opis spoločný pre štyri chránené atribúty.)
protected int výška
Parameter polohy alebo veľkosti rolovacej lišty.
(Toto je opis spoločný pre štyri chránené atribúty.)
public RolovaciaLišta()
Vytvorí zvislú rolovaciu lištu v strede plátna. Predvolený rozsah hodnôt je 0 až 100, počiatočná hodnota posunu je rovná 0 a predvolená výška zobrazovanej oblasti je 10 jednotiek. Rozmery lišty sú predvolene nastavené podľa hodnoty získanej z manažéra vzhľadu. Napríklad, ak je predvolená hrúbka lišty rovná 17 bodov, tak táto lišta bude mať šírku 17 bodov a výšku 134 bodov (100 + 2 × hrúbka).
public RolovaciaLišta(int orientácia)
Vytvorí v strede plátna rolovaciu lištu so zadanou orientáciou
(pozri konštanty ZVISLÁ
,
VODOROVNÁ
a ich klony). Predvolený rozsah
hodnôt je 0 až 100, počiatočná hodnota posunu je rovná 0 a predvolená
veľkosť zobrazovanej oblasti je 10 jednotiek. Rozmery lišty sú
predvolene nastavené podľa hodnoty získanej z manažéra vzhľadu.
Napríklad, ak je predvolená hrúbka lišty rovná 17 bodov, tak
táto lišta bude mať hrúbku 17 bodov a dĺžku 134 bodov
(100 + 2 × hrúbka), kde hrúbka a dĺžka znamenajú výšku
alebo šírku podľa orientácie.
public RolovaciaLišta(int orientácia, int posun, int veľkosťOblasti, int spodnáHranica, int hornáHranica)
Vytvorí v strede plátna rolovaciu lištu so zadanou orientáciou
(pozri konštanty ZVISLÁ
,
VODOROVNÁ
a ich klony), posunom, rozsahom
hodnôt a veľkosťou zobrazovanej oblasti. Rozmery lišty sú predvolene
nastavené podľa hodnoty získanej z manažéra vzhľadu. Napríklad, ak je
predvolená hrúbka lišty rovná 17 bodov, tak táto lišta bude
mať hrúbku 17 bodov a dĺžku 134 bodov (100 + 2 × hrúbka),
kde hrúbka a dĺžka znamenajú výšku alebo šírku podľa orientácie.
orientácia
– orientácia lišty (môže byť len
zvislá alebo vodorovná)posun
– hodnota aktuálneho posunu v rámci povoleného
rozsahu hodnôt (t. j. hodnôt parametrov
spodnáHranica
až hornáHranica
)veľkosťOblasti
– objem jednotiek určujúci aktuálne
viditeľnú oblasť z celého rozsahu ku ktorému sa vzťahuje táto
lištaspodnáHranica
– najmenšia hodnota povolená pri používaní
tejto lištyhornáHranica
– najväčšia hodnota povolená pri používaní
tejto lištypublic RolovaciaLišta prenes(Okno okno, boolean tam)
Prenesie rolovaciu lištu zo sveta do určeného okna alebo späť.
Ak je parameter tam
rovný true
a zároveň sa
lišta nachádza vo svete (pozor, nie v inom okne, musí byť umestnená
vo svete), tak bude prenesená do zadaného okna. Ak je parameter
tam
rovný false
a zároveň sa lišta nachádza
v zadanom okne (musí to byť presne to okno), tak bude prenesená
zo zadaného okna do sveta.
V uvedených dvoch situáciách je návratová hodnota tejto metódy
inštancia tejto lišty, čo umožňuje zreťazené volanie ďalšej metódy
lišty – pri inicializácii rozhrania a prenose lišty zo sveta do
želaného okna sa na to dá spoľahnúť. Ak je však prenos neúspešný,
tak je vrátená hodnota null
.
Volanie tejto metódy je ekvivalentné volaniu metódy
Okno.prenes(RolovaciaLišta rolovaciaLišta, boolean sem)
.
okno
– okno, do ktorého alebo z ktorého má byť lišta prenesenátam
– smer prenosu (pozri opis vyššie)null
public boolean jeV(Okno okno)
Zistí, či je táto rolovacia lišta umiestnená v zadanom okne.
true
ak je lišta v zadanom okne, false
v opačnom prípadepublic boolean jeŤahaná()
Overí, či je lišta práve ťahaná, čo je dôležité rozlišovať pri obsluhe udalostí. Pozri príklad v úvodnom opise tejto triedy.
true
, ak je lišta práve ťahaná, inak
false
public boolean jeTahana()
Alias pre
jeŤahaná
.
public int orientácia()
public int orientacia()
Alias pre
orientácia
.
public int posun()
Overí aktuálnu hodnotu posunu rolovacej lišty.
public int veľkosťOblasti()
Zistí veľkosť oblasti, ktorú má lišta nastavenú ako aktuálnu šírku alebo výšku „okna.“ Ide o veľkosť tej časti zobrazenia, ktorá má byť naraz viditeľná.
public int velkostOblasti()
Alias pre
veľkosťOblasti
.
public int spodnáHranica()
Zistí spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
public int spodnaHranica()
Alias pre
spodnáHranica
.
public int dolnáHranica()
Alias pre
spodnáHranica
.
public int dolnaHranica()
Alias pre
spodnáHranica
.
public int hornáHranica()
Zistí hornú hranicu rozsahu povolených hodnôt pre túto lištu.
public int hornaHranica()
Alias pre
hornáHranica
.
public int vrchnáHranica()
Alias pre
hornáHranica
.
public int vrchnaHranica()
Alias pre
hornáHranica
.
public void orientácia(int orientácia)
Zmení orientáciu tejto lišty.
public void orientacia(int orientácia)
Alias pre
orientácia
.
public void posun(int posun)
Nastaví novú hodnotu posunu tejto lišty.
posun
– nová hodnota posunu tejto lištypublic void veľkosťOblasti(int veľkosťOblasti)
Nastaví novú veľkosť viditeľnej oblasti vzťahujúcej sa k rozsahu tejto lišty. Veľkosť tejto oblasti má význam aktualizovať napríklad pri zmene veľkosti okna, v ktorom sa lišta nachádza.
veľkosťOblasti
– nová veľkosť zobrazovanej oblasti (výška
alebo šírka; podľa orientácie lišty)public void velkostOblasti(int veľkosťOblasti)
Alias pre
veľkosťOblasti
.
public void spodnáHranica(int spodnáHranica)
Aktualizuje spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
spodnáHranica
– nová hodnota najnižšej dovolenej hodnoty
tejto rolovacej lištypublic void spodnaHranica(int spodnáHranica)
Alias pre
spodnáHranica
.
public void dolnáHranica(int spodnáHranica)
Alias pre
spodnáHranica
.
public void dolnaHranica(int spodnáHranica)
Alias pre
spodnáHranica
.
public void hornáHranica(int hornáHranica)
Aktualizuje spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
hornáHranica
– nová hodnota najvyššej dovolenej hodnoty
tejto rolovacej lištypublic void hornaHranica(int hornáHranica)
Alias pre
hornáHranica
.
public void vrchnáHranica(int hornáHranica)
Alias pre
hornáHranica
.
public void vrchnaHranica(int hornáHranica)
Alias pre
hornáHranica
.
public int jednotkovýPrírastok()
Zistí jednotkový prírastok pohybu tejto rolovacej lišty.
public int jednotkovyPrirastok()
Alias pre
jednotkovýPrírastok
.
public int blokovýPrírastok()
Zistí blokový prírastok pohybu tejto rolovacej lišty.
public int blokovyPrirastok()
Alias pre
blokovýPrírastok
.
public void jednotkovýPrírastok(int jednotkovýPrírastok)
Určí jednotkový prírastok pohybu tejto rolovacej lišty.
jednotkovýPrírastok
– jednotkový prírastok pohybu pri
používaní tejto lištypublic void jednotkovyPrirastok(int jednotkovýPrírastok)
Alias pre
jednotkovýPrírastok
.
public void blokovýPrírastok(int blokovýPrírastok)
Určí blokový prírastok pohybu tejto rolovacej lišty.
blokovýPrírastok
– blokový prírastok pohybu pri používaní
tejto lištypublic void blokovyPrirastok(int blokovýPrírastok)
Alias pre
blokovýPrírastok
.
public double polohaX()
polohaX
v rozhraní Poloha
polohaX(double)
public double polohaY()
polohaY
v rozhraní Poloha
polohaY(double)
public void polohaX(double novéX)
Presunie rolovaciu lištu na zadanú
súradnicu v smere osi x.
Poznámka: Prilepovanie upravuje súradnicový priestor poznámkového bloku.
novéX
– nová x-ová súradnica polohy rolovacej lištypolohaX()
,
poloha(double, double)
public void polohaY(double novéY)
Presunie rolovaciu lištu na zadanú
súradnicu v smere osi y.
Poznámka: Prilepovanie upravuje súradnicový priestor poznámkového bloku.
novéY
– nová y-ová súradnica polohy rolovacej lištypolohaY()
,
poloha(double, double)
,
poloha(Poloha)
public void súradnicaX(double novéX)
Alias pre
polohaX
.
public void suradnicaX(double novéX)
Alias pre
polohaX
.
public void súradnicaY(double novéY)
Alias pre
polohaY
.
public void suradnicaY(double novéY)
Alias pre
polohaY
.
public double súradnicaX()
Alias pre
polohaX
.
súradnicaX
v rozhraní Poloha
public double súradnicaY()
Alias pre
polohaY
.
súradnicaY
v rozhraní Poloha
public double suradnicaX()
Alias pre
polohaX
.
suradnicaX
v rozhraní Poloha
public double suradnicaY()
Alias pre
polohaY
.
suradnicaY
v rozhraní Poloha
public void poloha(double x, double y)
Presunie rolovaciu lištu na zadané súradnice x
, y
.
Poznámka: Prilepovanie upravuje súradnicový priestor poznámkového bloku.
x
– nová x-ová súradnica polohy rolovacej lištyy
– nová y-ová súradnica polohy rolovacej lištypolohaX(double)
,
polohaY(double)
,
poloha(Poloha)
public void poloha(Poloha objekt)
Presunie rolovaciu lištu na súradnice zadaného objektu.
Poznámka: Prilepovanie upravuje súradnicový priestor poznámkového bloku.
objekt
– objekt, na ktorého súradnice bude rolovaciu lištu
presunutépolohaX(double)
,
polohaY(double)
,
poloha(double, double)
public Bod poloha()
Vráti aktuálnu polohu rolovacej lišty.
public void skočNa(double x, double y)
Alias pre
poloha
.
public void skocNa(double x, double y)
Alias pre
poloha
.
public void skoč(double Δx, double Δy)
Presunie rolovaciu lištu o zadaný počet bodov v horizontálnom a vertikálnom smere. Upozorňujeme, že zadané hodnoty sú automaticky zaokrúhlené na celé čísla, čiže ani viacnásobné posunutie rolovacej lišty o hodnotu z otvoreného intervalu (−1; 1) nebude mať za následok posunutie rolovacej lišty…
Δx
– počet bodov v smere xΔy
– počet bodov v smere ypublic void skoc(double Δx, double Δy)
Alias pre
skoč
.
public boolean jeNa(double x, double y)
Overí, či sa poloha tejto rolovacej lišty dokonale zhoduje so
zadanými súradnicami. Ak je zistená zhoda, tak metóda vráti hodnotu
true
, v opačnom prípade hodnotu false
.
jeNa
v rozhraní Poloha
x
– x-ová súradnica, s ktorou má byť porovnaná poloha tejto
rolovacej lištyy
– y-ová súradnica, s ktorou má byť porovnaná poloha tejto
rolovacej lištytrue
ak sa poloha tejto rolovacej lišty zhoduje
so zadanými súradnicami, false
v opačnom prípadepublic boolean jeNa(Poloha poloha)
Overí, či sa poloha tejto rolovacej lišty a poloha zadaného
objektu dokonale zhodujú. Ak je zistená zhoda, tak metóda vráti
hodnotu true
, v opačnom prípade hodnotu false
.
public void prilepVľavo()
Prilepí rolovaciu lištu k ľavému okraju. Táto akcia zruší prípadné predchádzajúce prilepenie k pravému okraju. Každé prilepenie upravuje súradnicový systém rolovacej lišty presunutím čo najbližšie k prilepovanému okraju. To znamená, že keď napríklad po prilepení k ľavému okraju posunieme rolovaciu lištu na súradnice [10, 0], tak ju ju v skutočnosti posunieme na pozíciu desať bodov od ľavého okraja.
prilepVpravo()
,
prilepHore()
,
prilepDole()
,
odlep()
public void prilepVlavo()
Alias pre
prilepVľavo
.
public void prilepVpravo()
Prilepí rolovaciu lištu k pravému okraju. Táto akcia zruší prípadné predchádzajúce prilepenie k ľavému okraju. Každé prilepenie upravuje súradnicový systém rolovacej lišty presunutím čo najbližšie k prilepovanému okraju. To znamená, že keď napríklad po prilepení k pravému okraju posunieme rolovaciu lištu na súradnice [-10, 0], tak ju ju v skutočnosti posunieme na pozíciu desať bodov od pravého okraja.
prilepVľavo()
,
prilepHore()
,
prilepDole()
,
odlep()
public void prilepHore()
Prilepí rolovaciu lištu k hornému okraju. Táto akcia zruší prípadné predchádzajúce prilepenie k dolnému okraju. Každé prilepenie upravuje súradnicový systém rolovacej lišty presunutím čo najbližšie k prilepovanému okraju. To znamená, že keď napríklad po prilepení k hornému okraju posunieme rolovaciu lištu na súradnice [0, -10], tak ju ju v skutočnosti posunieme na pozíciu desať bodov od horného okraja.
prilepVľavo()
,
prilepVpravo()
,
prilepDole()
,
odlep()
public void prilepDole()
Prilepí rolovaciu lištu k dolnému okraju. Táto akcia zruší prípadné predchádzajúce prilepenie k hornému okraju. Každé prilepenie upravuje súradnicový systém rolovacej lišty presunutím čo najbližšie k prilepovanému okraju. To znamená, že keď napríklad po prilepení k dolnému okraju posunieme rolovaciu lištu na súradnice [0, 10], tak ju ju v skutočnosti posunieme na pozíciu desať bodov od dolného okraja.
prilepVľavo()
,
prilepVpravo()
,
prilepHore()
,
odlep()
public void odlep()
Odlepí rolovaciu lištu od všetkých okrajov.
prilepVľavo()
,
prilepVpravo()
,
prilepHore()
,
prilepDole()
public void roztiahniNaVýšku()
Roztiahne rolovaciu lištu na celú výšku zobrazovanej plochy tak, aby bola celá viditeľná, čoho dôsledkom je aj to, že najväčšia možná výška lišty je rovná výške plátien sveta.
roztiahniNaŠírku()
,
nerozťahuj()
public void roztiahniNaVysku()
Alias pre
roztiahniNaVýšku
.
public void roztiahniVertikálne()
Alias pre
roztiahniNaVýšku
.
public void roztiahniVertikalne()
Alias pre
roztiahniNaVýšku
.
public void roztiahniZvislo()
Alias pre
roztiahniNaVýšku
.
public void roztiahniNaŠírku()
Roztiahne rolovaciu lištu na celú šírku zobrazovanej plochy tak, aby bola celá viditeľná, čoho dôsledkom je aj to, že najväčšia možná šírka lišty je rovná šírke plátien sveta.
roztiahniNaVýšku()
,
nerozťahuj()
public void roztiahniNaSirku()
Alias pre
roztiahniNaŠírku
.
public void roztiahniHorizontálne()
Alias pre
roztiahniNaŠírku
.
public void roztiahniHorizontalne()
Alias pre
roztiahniNaŠírku
.
public void roztiahniVodorovne()
Alias pre
roztiahniNaŠírku
.
public void nerozťahuj()
Zruší roztiahnutie rolovacej lišty v oboch smeroch.
roztiahniNaVýšku()
,
roztiahniNaŠírku()
public void neroztahuj()
Alias pre
nerozťahuj
.
public int šírka()
šírka(int)
public int sirka()
Alias pre
šírka
.
public int výška()
výška(int)
public int vyska()
Alias pre
výška
.
public void šírka(int nováŠírka)
nováŠírka
– nová šírka rolovacej lištyšírka()
public void sirka(int nováŠírka)
Alias pre
šírka
.
public void výška(int nováVýška)
nováVýška
– nová výška rolovacej lištyvýška()
public void vyska(int nováVýška)
Alias pre
výška
.
public boolean viditeľná()
Zistí, či je rolovacia lišta viditeľná (zobrazená) alebo nie.
Lištu môžeme skrývať
a zobrazovať metódami skry
a zobraz
. Alternatívou tejto metódy je metóda
zobrazená
.
true
znamená, že lišta je zobrazená,
false
znamená opakzobrazená()
,
zobraz()
,
skry()
public boolean viditelna()
Alias pre
viditeľná
.
public boolean zobrazená()
Zistí, či je rolovacia lišta viditeľná (zobrazená) alebo nie.
Lištu môžeme skrývať
a zobrazovať metódami skry
a zobraz
. Alternatívou tejto metódy je metóda
viditeľná
.
true
znamená, že lišta je zobrazená,
false
znamená opakviditeľná()
,
zobraz()
,
skry()
public boolean zobrazena()
Alias pre
zobrazená
.
public void zobraz()
Zobrazí rolovaciu lištu. (Viac informácií nájdete v opise metódy
zobrazená
.)
viditeľná()
,
zobrazená()
,
skry()
public void skry()
Skryje rolovaciu lištu. (Viac informácií nájdete v opise metódy
zobrazená
.)
viditeľná()
,
zobrazená()
,
zobraz()
public void setVisible(boolean zobraz)
Zobrazí alebo skryhe rolovaciu lištu podľa parametra zobraz
.
Táto metóda prekrýva originálnu metódu z dôvodu implementácie
mechanizmu zabezpečujúceho správne zobrazenie lišty po inicializácii
aplikácie.
(Viac informácií nájdete v opise metódy zobrazená
.)
Poznámka: Táto metóda prekrýva originálnu
metódu JComponent.setVisible(boolean)
.
setVisible
v triede JComponent
zobraz
– true
znamená, že lišta má byť zobrazená,
false
znamená opakpublic boolean isVisible()
Zistí, či je rolovacia lišta viditeľná (zobrazená) alebo nie.
Táto metóda prekrýva originálnu metódu z dôvodu implementácie
mechanizmu zabezpečujúceho správne zobrazenie lišty po inicializácii
aplikácie.
(Viac informácií nájdete v opise metódy zobrazená
.)
Poznámka: Táto metóda prekrýva originálnu
metódu Component.isVisible()
.