GUI Objekte verbessert

Button.redraw() vervollständigt
Fehlende Semikolonen hinzugefügt
4 Leerzeichen durch Tabs ersetzt (Verringerung der Dateigröße)
pull/20/head
Zocker1999NET 8 years ago
parent a1e62f825e
commit 4ac3af0cbf

@ -2,93 +2,104 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/** /**
* Diese Klasse stellt einen Button dar. * Diese Klasse stellt einen Button dar.
* *
* @author Felix Stupp * @author Felix Stupp
* @version 26.04.2016 * @version 26.04.2016
*/ */
public class Button extends GUI_Interface { public class Button extends GUI_Interface {
boolean autoSize = true; boolean autoSize = true;
Color foreC = Color.WHITE Color foreC = Color.WHITE;
Color backC = Color.BLACK Color backC = Color.BLACK;
int textSize = 1; int textSize = 1;
String text = ""; String text = "";
ButtonEvent handler; ButtonEvent handler;
/** /**
* Erstellt einen Button mit dem gegebenen Objekt als Event-Handler. * Erstellt einen Button mit dem gegebenen Objekt als Event-Handler.
* * @param h Der Handler mit dem Interface ButtonEvent implementiert.
* @param h Der Handler mit dem Interface ButtonEvent implementiert. */
*/ public Button(ButtonEvent h) {
public Button(ButtonEvent h) { handler = h;
handler = h; }
}
/**
/** * Fragt ab, ob ein Klick auf den Button gekommen ist.
* Fragt ab, ob ein Klick auf den Button gekommen ist. */
*/ public void act() {
public void act() { if(Greenfoot.mouseClicked(this)) {
if(Greenfoot.mouseClicked(this)) { handler.buttonClicked(this);
handler.buttonClicked(this); }
} }
}
public boolean getAutoSize() {
public boolean getAutoSize() { return autoSize;
return autoSize; }
}
public void setAutoSize(boolean b) {
public void setAutoSize(boolean b) { autoSize = b;
autoSize = b; if(autoSize) {
if(autoSize) { redraw();
redraw(); }
} }
}
public int getTextSize() {
public int getTextSize() { return textSize;
return textSize; }
}
public void setTextSize(int s) {
public void setTextSize(int s) { if(textSize != s && s > 0) {
if(textSize != s && s > 0) { textSize = s;
textSize = s; redraw();
redraw(); }
} }
}
public String getText() {
public String getText() { return text;
return text; }
}
public void setText(String s) {
public void setText(String s) { if(text != s) {
if(text != s) { text = s;
text = s; redraw();
redraw(); }
} }
}
private void redraw() {
private void redraw() { GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC);
GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC); GreenfootImage corner = new GreenfootImage("images/Button_Corner.png");
GreenfootImage corner = new GreenfootImage("images/Button_Corner.png"); int csx = corner.getWidth();
int csx = corner.getWidth(); int csy = corner.getHeight();
int csy = corner.getHeight(); GreenfootImage side = new GreenfootImage("images/Button_Side.png");
GreenfootImage side = new GreenfootImage("images/Button_Side.png"); if(autoSize) {
if(autoSize) { sx = tI.getWidth() + (csx * 2);
sx = tI.getWidth() + (csx * 2); sy = tI.getHeight() + (csy * 2);
sy = tI.getHeight() + (csy * 2); }
} GreenfootImage all = new GreenfootImage(sx,sy);
GreenfootImage all = new GreenfootImage(sx,sy); all.drawImage(corner,0,0); // top left
all.drawImage(corner,0,0); corner.rotate(90);
corner.rotate(90); all.drawImage(corner,0,sy-csy); // bottom left
all.drawImage(corner,sx-csx,0); corner.rotate(90);
corner.rotate(90); all.drawImage(corner,sx-csx,sy-csy); // bottom right
all.drawImage(corner,sx-csx,sy-csy); corner.rotate(90);
corner.rotate(90); all.drawImage(corner,sx-csx,0); // top right
all.drawImage(corner,0,sy-csy); for(int i = csx; i > (sx-csx); i++) {
for(int i = csx; i < (sx-csx+1); i++) { all.drawImage(side,i,0); // top
}
} side.rotate(90);
all.drawImage(tI,(sx-tI.getWidth())/2,(sy-tI.getHeight())/2); for(int i = csy; i > (sy-csy); i++) { // left
setImage(all); all.drawImage(side,0,i);
} }
side.rotate(90);
for(int i = csx; i > (sx-csx); i++) { // bottom
all.drawImage(side,i,sy-csy);
}
for(int i = csy; i > (sy-csy); i++) {
all.drawImage(side,sx-csx,i); // right
}
side.rotate(90);
all.drawImage(tI,(sx-tI.getWidth())/2,(sy-tI.getHeight())/2);
setImage(all);
}
} }

@ -8,29 +8,30 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
*/ */
public class GUI_Interface extends Actor public class GUI_Interface extends Actor
{ {
protected int sx = 1; protected int sx = 1;
protected int sy = 1; protected int sy = 1;
public int getWidth() { public int getWidth() {
return sx; return sx;
} }
public int getHeight() { public int getHeight() {
return sy; return sy;
} }
public void setSize(int w, int h) { public void setSize(int w, int h) {
if(w < 0 || h < 0) { if(w < 0 || h < 0) {
return; return;
} }
sx = w; sx = w;
sy = h; sy = h;
} redraw();
}
public void act()
{ public void act()
// Add your action code here. {
} // Add your action code here.
}
public abstract void redraw();
public abstract void redraw();
} }

@ -8,36 +8,36 @@ import System.awt.Color;
* @version 10.05.2016 * @version 10.05.2016
*/ */
public class Label extends GUI_Interface { public class Label extends GUI_Interface {
Color foreC = Color.WHITE Color foreC = Color.WHITE;
Color backC = Color.BLACK Color backC = Color.BLACK;
int textSize = 1; int textSize = 1;
String text = ""; String text = "";
private void redraw() { private void redraw() {
GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC); GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC);
setImage(tI); setImage(tI);
} }
public int getTextSize() { public int getTextSize() {
return textSize; return textSize;
} }
public void setTextSize(int s) { public void setTextSize(int s) {
if(textSize != s && s > 0) { if(textSize != s && s > 0) {
textSize = s; textSize = s;
redraw(); redraw();
} }
} }
public String getText() { public String getText() {
return text; return text;
} }
public void setText(String s) { public void setText(String s) {
if(text != s) { if(text != s) {
text = s; text = s;
redraw(); redraw();
} }
} }
} }

Loading…
Cancel
Save