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()
Alias pre
blokovýPrírastok . |
int |
blokovýPrírastok()
Zistí blokový prírastok pohybu tejto rolovacej lišty.
|
void |
blokovyPrirastok(int blokovýPrírastok)
Alias pre
blokovýPrírastok . |
void |
blokovýPrírastok(int blokovýPrírastok)
Určí blokový prírastok pohybu tejto rolovacej lišty.
|
int |
dolnaHranica()
Alias pre
spodnáHranica . |
int |
dolnáHranica()
Alias pre
spodnáHranica . |
void |
dolnaHranica(int spodnáHranica)
Alias pre
spodnáHranica . |
void |
dolnáHranica(int spodnáHranica)
Alias pre
spodnáHranica . |
int |
hornaHranica()
Alias pre
hornáHranica . |
int |
hornáHranica()
Zistí hornú hranicu rozsahu povolených hodnôt pre túto lištu.
|
void |
hornaHranica(int hornáHranica)
Alias pre
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()
Alias pre
jednotkovýPrírastok . |
int |
jednotkovýPrírastok()
Zistí jednotkový prírastok pohybu tejto rolovacej lišty.
|
void |
jednotkovyPrirastok(int jednotkovýPrírastok)
Alias pre
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()
Alias pre
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()
Alias pre
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()
Alias pre
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)
Alias pre
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()
Alias pre
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()
Alias pre
roztiahniNaŠírku . |
void |
roztiahniHorizontálne()
Alias pre
roztiahniNaŠírku . |
void |
roztiahniNaSirku()
Alias pre
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()
Alias pre
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()
Alias pre
roztiahniNaVýšku . |
void |
roztiahniVertikálne()
Alias pre
roztiahniNaVýšku . |
void |
roztiahniVodorovne()
Alias pre
roztiahniNaŠírku . |
void |
roztiahniZvislo()
Alias pre
roztiahniNaVýšku . |
void |
setVisible(boolean zobraz)
Zobrazí alebo skryhe rolovaciu lištu podľa parametra
zobraz . |
int |
sirka()
Alias pre
šírka . |
void |
sirka(int nováŠírka)
Alias pre
šírka . |
void |
skoc(double Δx,
double Δy)
Alias pre
skoč . |
void |
skocNa(double x,
double y)
Alias pre
poloha . |
void |
skocNa(Poloha objekt)
Alias pre
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)
Alias pre
poloha . |
void |
skočNa(Poloha objekt)
Alias pre
poloha . |
void |
skry()
Skryje rolovaciu lištu.
|
int |
spodnaHranica()
Alias pre
spodnáHranica . |
int |
spodnáHranica()
Zistí spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
|
void |
spodnaHranica(int spodnáHranica)
Alias pre
spodnáHranica . |
void |
spodnáHranica(int spodnáHranica)
Aktualizuje spodnú hranicu rozsahu povolených hodnôt pre túto lištu.
|
double |
suradnicaX()
Alias pre
polohaX . |
double |
súradnicaX()
Alias pre
polohaX . |
void |
suradnicaX(double novéX)
Alias pre
polohaX . |
void |
súradnicaX(double novéX)
Alias pre
polohaX . |
double |
suradnicaY()
Alias pre
polohaY . |
double |
súradnicaY()
Alias pre
polohaY . |
void |
suradnicaY(double novéY)
Alias pre
polohaY . |
void |
súradnicaY(double novéY)
Alias pre
polohaY . |
int |
šírka()
|
void |
šírka(int nováŠírka)
|
int |
velkostOblasti()
Alias pre
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)
Alias pre
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()
Alias pre
viditeľná . |
boolean |
viditeľná()
Zistí, či je rolovacia lišta viditeľná (zobrazená) alebo nie
|
int |
vrchnaHranica()
Alias pre
hornáHranica . |
int |
vrchnáHranica()
Alias pre
hornáHranica . |
void |
vrchnaHranica(int hornáHranica)
Alias pre
hornáHranica . |
void |
vrchnáHranica(int hornáHranica)
Alias pre
hornáHranica . |
int |
vyska()
Alias pre
výška . |
void |
vyska(int nováVýška)
Alias pre
výška . |
int |
výška()
|
void |
výška(int nováVýška)
|
void |
zobraz()
Zobrazí rolovaciu lištu.
|
boolean |
zobrazena()
Alias pre
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()
.