Package se.lth.cs.pt.window
Class SimpleWindow
- java.lang.Object
-
- se.lth.cs.pt.window.SimpleWindow
-
public class SimpleWindow extends java.lang.Object
Ett ritfönster, ungefär som det som använts i "Objektorienterad programmering och Java".
-
-
Field Summary
Fields Modifier and Type Field Description static int
KEY_EVENT
static int
MOUSE_EVENT
static int
TIMEOUT_EVENT
-
Constructor Summary
Constructors Constructor Description SimpleWindow(int width, int height, java.lang.String title)
Skapar ett fönster och gör det synligt.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Raderar innehållet i fönstret.void
close()
Stänger fönstret tillfälligt.static void
delay(int ms)
Väntar ms millisekunder.WindowControls
getAdvancedControls()
Hämtar avancerade kontroller för detta fönster.int
getClickedX()
Tar reda på x-koordinaten för muspekarens position vid senaste musklick.int
getClickedY()
Tar reda på y-koordinaten för muspekarens position vid senaste musklick.int
getEventType()
Tar reda på vilket slags händelse som inträffat (MOUSE_EVENT eller KEY_EVENT).int
getHeight()
Tar reda på fönstrets storlek i y-led.char
getKey()
Tar reda på vilken tangent som trycktes ned vid en KEY_EVENT-händelse.java.awt.Color
getLineColor()
Tar reda på linjefärgen.int
getLineWidth()
Tar reda på linjebredden.int
getMouseX()
Tar reda på x-koordinaten för musens position just nu.int
getMouseY()
Tar reda på y-koordinaten för musens position just nu.int
getWidth()
Tar reda på fönstrets storlek i x-led.int
getX()
Tar reda på x-koordinaten för pennans läge.int
getY()
Tar reda på y-koordinaten för pennans läge.void
lineTo(int x, int y)
Flyttar pennan till punkten x,y och ritar samtidigt en rät linje.void
moveTo(int x, int y)
Flyttar pennan till punkten x,y utan att rita.void
open()
Öppnar ett stängt fönster.void
setLineColor(java.awt.Color col)
Sätter linjefärgen till col.void
setLineWidth(int thickness)
Sätter linjebredden till thickness pixlarvoid
waitForEvent()
Väntar tills användaren antingen klickar på en musknapp eller trycker ned en tangent på tangentbordet.char
waitForKey()
Väntar tills användaren trycker ned en tangent på tangentbordet.void
waitForMouseClick()
Väntar tills användaren har klickat på en musknapp.void
writeText(java.lang.String txt)
Skriver texten txt med början i pennans aktuella läge.
-
-
-
Field Detail
-
MOUSE_EVENT
public static final int MOUSE_EVENT
- See Also:
- Constant Field Values
-
KEY_EVENT
public static final int KEY_EVENT
- See Also:
- Constant Field Values
-
TIMEOUT_EVENT
public static final int TIMEOUT_EVENT
- See Also:
- Constant Field Values
-
-
Method Detail
-
getWidth
public int getWidth()
Tar reda på fönstrets storlek i x-led.- Returns:
- fönstrets bredd
-
getHeight
public int getHeight()
Tar reda på fönstrets storlek i y-led.- Returns:
- fönstrets höjd
-
clear
public void clear()
Raderar innehållet i fönstret.
-
close
public void close()
Stänger fönstret tillfälligt.
-
open
public void open()
Öppnar ett stängt fönster.
-
moveTo
public void moveTo(int x, int y)
Flyttar pennan till punkten x,y utan att rita.- Parameters:
x
- x-koordinat för pennans nya positiony
- y-koordinat för pennans nya position
-
lineTo
public void lineTo(int x, int y)
Flyttar pennan till punkten x,y och ritar samtidigt en rät linje.- Parameters:
x
- x-koordinat för pennans nya positiony
- y-koordinat för pennans nya position
-
setLineWidth
public void setLineWidth(int thickness)
Sätter linjebredden till thickness pixlar- Parameters:
thickness
- linjebredd (i pixlar, där 1 är normal bredd)
-
getLineWidth
public int getLineWidth()
Tar reda på linjebredden.- Returns:
- linjebredden (i pixlar)
-
writeText
public void writeText(java.lang.String txt)
Skriver texten txt med början i pennans aktuella läge. Pennans läge påverkas inte.- Parameters:
txt
- texten som ska skrivas i fönstret
-
getX
public int getX()
Tar reda på x-koordinaten för pennans läge.- Returns:
- pennans x-koordinat
-
getY
public int getY()
Tar reda på y-koordinaten för pennans läge.- Returns:
- pennans y-koordinat
-
setLineColor
public void setLineColor(java.awt.Color col)
Sätter linjefärgen till col. Det finns ett antal inbyggda färger, som Color.RED eller Color.MAGENTA. Man kan även skapa nya, egna färger:SimpleWindow w = new SimpleWindow(300, 300, "colordemo"); w.setLineColor(Color.RED); w.moveTo(100, 100); w.lineTo(200, 100); // en röd linje Color mycolor = new Color(242, 128, 161); // en helt egen färg w.setLineColor(mycolor); w.lineTo(200, 200); // en linje i denna färg ...
- Parameters:
col
- den nya linjefärgen- See Also:
- dokumentation för java.awt.Color
-
getLineColor
public java.awt.Color getLineColor()
Tar reda på linjefärgen.- Returns:
- linjefärg
-
getMouseX
public int getMouseX()
Tar reda på x-koordinaten för musens position just nu.- Returns:
- muspekarens x-koordinat, relativt fönstret
-
getMouseY
public int getMouseY()
Tar reda på y-koordinaten för musens position just nu.- Returns:
- muspekarens y-koordinat, relativt fönstret
-
waitForMouseClick
public void waitForMouseClick()
Väntar tills användaren har klickat på en musknapp.
-
getClickedX
public int getClickedX()
Tar reda på x-koordinaten för muspekarens position vid senaste musklick.- Returns:
- klickets x-koordinat
-
getClickedY
public int getClickedY()
Tar reda på y-koordinaten för muspekarens position vid senaste musklick.- Returns:
- klickets y-koordinat
-
waitForKey
public char waitForKey()
Väntar tills användaren trycker ned en tangent på tangentbordet.- Returns:
- den tryckta tangenten
-
waitForEvent
public void waitForEvent()
Väntar tills användaren antingen klickar på en musknapp eller trycker ned en tangent på tangentbordet.
-
getEventType
public int getEventType()
Tar reda på vilket slags händelse som inträffat (MOUSE_EVENT eller KEY_EVENT).- Returns:
- KEY_EVENT för tangenttryck, MOUSE_EVENT för musklick
-
getKey
public char getKey()
Tar reda på vilken tangent som trycktes ned vid en KEY_EVENT-händelse.- Returns:
- teckenkoden för tangenten
-
delay
public static void delay(int ms)
Väntar ms millisekunder.- Parameters:
ms
- antalet millisekunder programmet ska pausa
-
getAdvancedControls
public WindowControls getAdvancedControls()
Hämtar avancerade kontroller för detta fönster.
-
-