You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
2.6 KiB
Java
107 lines
2.6 KiB
Java
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
|
import java.awt.Color;
|
|
|
|
/**
|
|
Oberklasse für sämtliche GUI Objekte, wie Labels und Buttons
|
|
|
|
@author Felix Stupp
|
|
@version 04.06.2016
|
|
*/
|
|
public abstract class GUI_Interface extends Actor
|
|
{
|
|
/**
|
|
Die Breite des Objektes
|
|
*/
|
|
protected int sx = 20;
|
|
/**
|
|
Die Höhe des Objektes
|
|
*/
|
|
protected int sy = 20;
|
|
/**
|
|
Die Hintergrundfarbe des Objektes
|
|
*/
|
|
protected Color backC = Color.BLACK;
|
|
/**
|
|
Die Vordergrundfarbe (meist die Textfarbe) des Objektes
|
|
*/
|
|
protected Color foreC = Color.WHITE;
|
|
|
|
/**
|
|
Gibt die Breite des Objektes zurück.
|
|
@return Die aktuelle Breite
|
|
*/
|
|
public int getWidth() {
|
|
return sx;
|
|
}
|
|
/**
|
|
Gibt die Höhe des Objektes zurück.
|
|
@return Die aktuelle Höhe
|
|
*/
|
|
public int getHeight() {
|
|
return sy;
|
|
}
|
|
/**
|
|
Legt die Größe des Objektes neu fest und zeichnet es danach damit neu.
|
|
Je nach Objekttyp kann diese Größe wieder vom Objekt selbst angepasst werden, falls nötig.
|
|
@param w Die neue Breite
|
|
@param h Die neue Höhe
|
|
*/
|
|
public void setSize(int w, int h) {
|
|
if(w < 1 || h < 1) {
|
|
return;
|
|
}
|
|
sx = w;
|
|
sy = h;
|
|
redraw();
|
|
}
|
|
|
|
/**
|
|
Gibt die aktuelle Hintergrundfarbe des Objektes zurück.
|
|
@return Die aktuelle Hintergrundfarbe als System.awt.Color
|
|
*/
|
|
public Color getBackColor() {
|
|
return backC;
|
|
}
|
|
/**
|
|
Legt die Hintergrundfarbe des Objektes fest.
|
|
@param c Die neue Hintergrundfarbe als System.awt.Color
|
|
@return Gibt an, ob diese Farbe unterschiedlich zur bisherig genutzten Farbe wahr. Bei TRUE erfolgte bereits ein Redraw.
|
|
*/
|
|
public boolean setBackColor(Color c) {
|
|
if(!c.equals(backC)) {
|
|
backC = c;
|
|
redraw();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
Gibt die aktuelle Vordergrundfarbe (meist die Textfarbe) des Objektes zurück.
|
|
@return Die aktuelle Vordergrundfarbe als System.awt.Color
|
|
*/
|
|
public Color getForeColor() {
|
|
return foreC;
|
|
}
|
|
/**
|
|
Legt die Vordergrundfarbe (meist die Textfarbe) des Objektes fest.
|
|
@param c Die neue Vordergrundfarbe als System.awt.Color
|
|
@return Gibt an, ob diese Farbe unterschiedlich zur bisherig genutzten Farbe wahr. Bei TRUE erfolgte bereits ein Redraw.
|
|
*/
|
|
public boolean setForeColor(Color c) {
|
|
if(!c.equals(foreC)) {
|
|
foreC = c;
|
|
redraw();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public void act() {}
|
|
|
|
/**
|
|
Diese Funktion soll die erneute Zeichnung des Objekts erzwingen und wird daher auch von (fast) allen set-Methoden aufgerufen, sollte der neue Wert sich von dem alten unterscheiden.
|
|
*/
|
|
public abstract void redraw();
|
|
}
|