Package eu.pedu.lib20s.canvas
Class Canvas
java.lang.Object
eu.pedu.lib20s.canvas.Canvas
- All Implemented Interfaces:
IMovable
public final class Canvas extends java.lang.Object implements IMovable
Instance třídy
Canvas
(jedináček) slouží jako virtuální plátno,
na něž mohou být kresleny jednotlivé obrazce.
Třída neposkytuje veřejný konstruktor,
protože chce, aby její instance byla jedináček,
tj. aby se všechno kreslilo na jedno a to samé plátno.
Jediným způsobem, jak získat odkaz na instanci třídy Plátno,
je volaní statické metody getInstance()
.
Aby bylo možno na plátno obyčejné kreslit a nebylo nutno kreslené objekty přihlašovat, odmazané části obrazců se automaticky neobnovují. Je-li proto při smazání některého obrazce odmazána část jiného obrazce, je třeba příslušný obrazec explicitně překreslit.
-
Field Summary
Fields Modifier and Type Field Description static NamedColor
BACKGROUND_0
Počáteční barva pozadí plátna.static int
DEFAULT_STEP
Implicitní velikost kroku - standardu plátna.static int
HEIGHT_0
Počáteční výška plátna v bodech.static int
MAX_STEP
Maximální povolená velikost kroku - standardu plátna.static java.awt.Point
POINT_0
Implicitní počáteční bodová pozice okna na obrazovce.static int
WIDTH_0
Počáteční šířka plátna v bodech. -
Method Summary
Modifier and Type Method Description void
clear()
Smaže plátno, přesněji smaže všechny obrazce na plátně.static void
clearCanvas()
Smaže plátno, přesněji smaže všechny obrazce na plátně.void
drawLine(int x1, int y1, int x2, int y2, NamedColor color)
Zadanou barvou nakreslí na plátno úsečku se zadanými krajními body.void
drawString(java.lang.String text, int x, int y, NamedColor color)
Vypíše na plátno zadaný text aktuálním písmem a zadanou barvou.void
erase(java.awt.Shape shape)
Smaže na plátně zadaný obrazec, tj. překreslí jej barvou pozadí.void
fill(java.awt.Shape shape, NamedColor color)
Nakreslí zadaný obrazec a vybarví jej zadanou barvou.NamedColor
getBackgroundColor()
Vrátí aktuální barvu pozadí.static int
getDefaultStep()
Vrátí implicitní velikost implicitní vzdálenosti (kroku), o kterou se instance přesune při volaní bezparametrických metod přesunu.int
getHeight()
Vrátí výšku plátna.static Canvas
getInstance()
Jediná metoda umožnující získat odkaz na instanci plátna.static int
getStep()
Vrátí implicitní vzdálenost (krok), o kterou se instance přesune při volaní bezparametrických metod přesunu.java.lang.String
getTitle()
Vrátí text v titulkové liště okna plátna.int
getWidth()
Vrátí šířku plátna.int
getX()
Vrátí vodorovnou souřadnici okna plátna.int
getY()
Vrátí svislou souřadnici okna plátna.boolean
isVisible()
Poskytuje informaci o aktuální viditelnosti okna.void
setBackgroundColor(NamedColor color)
Nastaví pro plátno barvu pozadí.static void
setDefaultStep()
Nastaví implicitní vzdálenost (krok), o kterou se instance přesune při volaní bezparametrických metod přesunu na implicitní velikost.void
setPosition(int x, int y)
Nastaví novou pozici plátna zadáním jeho nových souřadnic.void
setSize(int width, int height)
Nastaví nový rozměr plátna zadáním jeho výsky a šířky.static void
setStep(int size)
Nastaví implicitní vzdálenost (krok), o kterou se instance přesune při volaní bezparametrických metod přesunu.void
setTitle(java.lang.String title)
Nastaví text v titulkové liště okna plátna.void
setVisible(boolean visible)
Nastaví viditelnost plátna.static void
showCanvas()
Zobrazí okno plátna nad ostatními okny.java.lang.String
toString()
Vrátí string reprezentující danou instanci (její textový podpis).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface eu.pedu.lib20s.geom.IMovable
getPosition, moveDown, moveRight, setPosition, setX, setY
-
Field Details
-
DEFAULT_STEP
public static final int DEFAULT_STEPImplicitní velikost kroku - standardu plátna.- See Also:
- Constant Field Values
-
MAX_STEP
public static final int MAX_STEPMaximální povolená velikost kroku - standardu plátna.- See Also:
- Constant Field Values
-
WIDTH_0
public static final int WIDTH_0Počáteční šířka plátna v bodech.- See Also:
- Constant Field Values
-
HEIGHT_0
public static final int HEIGHT_0Počáteční výška plátna v bodech.- See Also:
- Constant Field Values
-
BACKGROUND_0
Počáteční barva pozadí plátna. -
POINT_0
public static final java.awt.Point POINT_0Implicitní počáteční bodová pozice okna na obrazovce.
-
-
Method Details
-
getInstance
Jediná metoda umožnující získat odkaz na instanci plátna. Protože je však tato instance definována jako jedináček Vrací metoda pokaždé odkaz na stejnou instanci.- Returns:
- Odkaz na instanci třídy Plátno.
-
getDefaultStep
public static int getDefaultStep()Vrátí implicitní velikost implicitní vzdálenosti (kroku), o kterou se instance přesune při volaní bezparametrických metod přesunu.- Returns:
- Implicitní velikost implicitního kroku v bodech
-
setDefaultStep
public static void setDefaultStep()Nastaví implicitní vzdálenost (krok), o kterou se instance přesune při volaní bezparametrických metod přesunu na implicitní velikost. -
getStep
public static int getStep()Vrátí implicitní vzdálenost (krok), o kterou se instance přesune při volaní bezparametrických metod přesunu.- Returns:
- Velikost implicitního kroku v bodech
-
setStep
public static void setStep(int size)Nastaví implicitní vzdálenost (krok), o kterou se instance přesune při volaní bezparametrických metod přesunu.- Parameters:
size
- Velikost implicitního kroku v bodech;
musí platit: 0 <= velikost <=MAX_STEP
-
clearCanvas
public static void clearCanvas()Smaže plátno, přesněji smaže všechny obrazce na plátně. Tato metoda by měla být definována jako metoda instance, avšak protože je instance jedináček, byla metoda pro snazší dostupnost definovaná jako metoda třídy, aby nebylo potřeba před žádostí o smazání plátna vytvářet jeho instanci. -
showCanvas
public static void showCanvas()Zobrazí okno plátna nad ostatními okny. -
getBackgroundColor
Vrátí aktuální barvu pozadí.- Returns:
- Nastavena barva pozadí
-
setBackgroundColor
Nastaví pro plátno barvu pozadí.- Parameters:
color
- Nastavovaná barva pozadí
-
getTitle
public java.lang.String getTitle()Vrátí text v titulkové liště okna plátna.- Returns:
- Text v titulkové liště okna plátna
-
setTitle
public void setTitle(java.lang.String title)Nastaví text v titulkové liště okna plátna.- Parameters:
title
- Nastavovaný text v titulkové liště okna plátna
-
getX
public int getX()Vrátí vodorovnou souřadnici okna plátna. -
getY
public int getY()Vrátí svislou souřadnici okna plátna. -
setPosition
public void setPosition(int x, int y)Nastaví novou pozici plátna zadáním jeho nových souřadnic.- Specified by:
setPosition
in interfaceIMovable
- Parameters:
x
- Nova vodorovná souřadnice okna plátnay
- Nová svislá souřadnice okna plátna
-
getWidth
public int getWidth()Vrátí šířku plátna.- Returns:
- Aktuální šířka plátna v bodech
-
getHeight
public int getHeight()Vrátí výšku plátna.- Returns:
- Aktuální výška plátna v bodech
-
setSize
public void setSize(int width, int height)Nastaví nový rozměr plátna zadáním jeho výsky a šířky.- Parameters:
width
- Nova šířka plátna v bodechheight
- Nová výška plátna v bodech
-
isVisible
public boolean isVisible()Poskytuje informaci o aktuální viditelnosti okna. Nicméně i viditelná okna mohou být zakryta jinými okny.- Returns:
- Je-li okno viditelné, vrátí
true
, v opačném případě vrátífalse
-
setVisible
public void setVisible(boolean visible)Nastaví viditelnost plátna.- Parameters:
visible
-true
má-li být aplikační okno viditelné, jinakfalse
-
clear
public void clear()Smaže plátno, přesněji smaže všechny obrazce na plátně. -
drawLine
Zadanou barvou nakreslí na plátno úsečku se zadanými krajními body.- Parameters:
x1
- x-ová souřadnice počátkuy1
- y-ová souřadnice počátkux2
- x-ová souřadnice koncey2
- x-ová souřadnice koncecolor
- Barva úsečky
-
drawString
Vypíše na plátno zadaný text aktuálním písmem a zadanou barvou.- Parameters:
text
- Zobrazovaný textx
- x-ová souřadnice textuy
- y-ová souřadnice textucolor
- Barva, kterou se zadaný text vypíše
-
erase
public void erase(java.awt.Shape shape)Smaže na plátně zadaný obrazec, tj. překreslí jej barvou pozadí. Obrazec však nadále existuje, pouze již není vidět.- Parameters:
shape
- Obrazec, který má být smazán
-
fill
Nakreslí zadaný obrazec a vybarví jej zadanou barvou.- Parameters:
shape
- Kreslený obrazeccolor
- Barva výplně
-
toString
public java.lang.String toString()Vrátí string reprezentující danou instanci (její textový podpis). Obsahuje název třídy, pozici a rozměr okna a barvu pozadí. Používá se především při ladění.- Overrides:
toString
in classjava.lang.Object
- Returns:
- Řetězcová reprezentace dané instance
-