From 4ac3af0cbf550755891eaed694f153bd2bde489f Mon Sep 17 00:00:00 2001 From: Zocker1999NET Date: Tue, 10 May 2016 20:16:19 +0200 Subject: [PATCH] GUI Objekte verbessert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Button.redraw() vervollständigt Fehlende Semikolonen hinzugefügt 4 Leerzeichen durch Tabs ersetzt (Verringerung der Dateigröße) --- Button.java | 181 ++++++++++++++++++++++++--------------------- GUI_Interface.java | 51 ++++++------- Label.java | 64 ++++++++-------- 3 files changed, 154 insertions(+), 142 deletions(-) diff --git a/Button.java b/Button.java index da11981..e4c23fe 100644 --- a/Button.java +++ b/Button.java @@ -2,93 +2,104 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Diese Klasse stellt einen Button dar. - * + * * @author Felix Stupp * @version 26.04.2016 */ public class Button extends GUI_Interface { - - boolean autoSize = true; - Color foreC = Color.WHITE - Color backC = Color.BLACK - int textSize = 1; - String text = ""; - - ButtonEvent handler; - - /** - * Erstellt einen Button mit dem gegebenen Objekt als Event-Handler. - * - * @param h Der Handler mit dem Interface ButtonEvent implementiert. - */ - public Button(ButtonEvent h) { - handler = h; - } - - /** - * Fragt ab, ob ein Klick auf den Button gekommen ist. - */ - public void act() { - if(Greenfoot.mouseClicked(this)) { - handler.buttonClicked(this); - } - } - - public boolean getAutoSize() { - return autoSize; - } - - public void setAutoSize(boolean b) { - autoSize = b; - if(autoSize) { - redraw(); - } - } - - public int getTextSize() { - return textSize; - } - - public void setTextSize(int s) { - if(textSize != s && s > 0) { - textSize = s; - redraw(); - } - } - - public String getText() { - return text; - } - - public void setText(String s) { - if(text != s) { - text = s; - redraw(); - } - } - - private void redraw() { - GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC); - GreenfootImage corner = new GreenfootImage("images/Button_Corner.png"); - int csx = corner.getWidth(); - int csy = corner.getHeight(); - GreenfootImage side = new GreenfootImage("images/Button_Side.png"); - if(autoSize) { - sx = tI.getWidth() + (csx * 2); - sy = tI.getHeight() + (csy * 2); - } - GreenfootImage all = new GreenfootImage(sx,sy); - all.drawImage(corner,0,0); - corner.rotate(90); - all.drawImage(corner,sx-csx,0); - corner.rotate(90); - all.drawImage(corner,sx-csx,sy-csy); - corner.rotate(90); - all.drawImage(corner,0,sy-csy); - for(int i = csx; i < (sx-csx+1); i++) { - - } - all.drawImage(tI,(sx-tI.getWidth())/2,(sy-tI.getHeight())/2); - setImage(all); - } + + boolean autoSize = true; + Color foreC = Color.WHITE; + Color backC = Color.BLACK; + int textSize = 1; + String text = ""; + + ButtonEvent handler; + + /** + * Erstellt einen Button mit dem gegebenen Objekt als Event-Handler. + * @param h Der Handler mit dem Interface ButtonEvent implementiert. + */ + public Button(ButtonEvent h) { + handler = h; + } + + /** + * Fragt ab, ob ein Klick auf den Button gekommen ist. + */ + public void act() { + if(Greenfoot.mouseClicked(this)) { + handler.buttonClicked(this); + } + } + + public boolean getAutoSize() { + return autoSize; + } + + public void setAutoSize(boolean b) { + autoSize = b; + if(autoSize) { + redraw(); + } + } + + public int getTextSize() { + return textSize; + } + + public void setTextSize(int s) { + if(textSize != s && s > 0) { + textSize = s; + redraw(); + } + } + + public String getText() { + return text; + } + + public void setText(String s) { + if(text != s) { + text = s; + redraw(); + } + } + + private void redraw() { + GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC); + GreenfootImage corner = new GreenfootImage("images/Button_Corner.png"); + int csx = corner.getWidth(); + int csy = corner.getHeight(); + GreenfootImage side = new GreenfootImage("images/Button_Side.png"); + if(autoSize) { + sx = tI.getWidth() + (csx * 2); + sy = tI.getHeight() + (csy * 2); + } + GreenfootImage all = new GreenfootImage(sx,sy); + all.drawImage(corner,0,0); // top left + corner.rotate(90); + all.drawImage(corner,0,sy-csy); // bottom left + corner.rotate(90); + all.drawImage(corner,sx-csx,sy-csy); // bottom right + corner.rotate(90); + all.drawImage(corner,sx-csx,0); // top right + for(int i = csx; i > (sx-csx); i++) { + all.drawImage(side,i,0); // top + } + side.rotate(90); + for(int i = csy; i > (sy-csy); i++) { // left + 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); + } } diff --git a/GUI_Interface.java b/GUI_Interface.java index 69c48da..730c98b 100644 --- a/GUI_Interface.java +++ b/GUI_Interface.java @@ -8,29 +8,30 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) */ public class GUI_Interface extends Actor { - protected int sx = 1; - protected int sy = 1; - - public int getWidth() { - return sx; - } - - public int getHeight() { - return sy; - } - - public void setSize(int w, int h) { - if(w < 0 || h < 0) { - return; - } - sx = w; - sy = h; - } - - public void act() - { - // Add your action code here. - } - - public abstract void redraw(); + protected int sx = 1; + protected int sy = 1; + + public int getWidth() { + return sx; + } + + public int getHeight() { + return sy; + } + + public void setSize(int w, int h) { + if(w < 0 || h < 0) { + return; + } + sx = w; + sy = h; + redraw(); + } + + public void act() + { + // Add your action code here. + } + + public abstract void redraw(); } diff --git a/Label.java b/Label.java index 37ef6c6..73d0155 100644 --- a/Label.java +++ b/Label.java @@ -8,36 +8,36 @@ import System.awt.Color; * @version 10.05.2016 */ public class Label extends GUI_Interface { - - Color foreC = Color.WHITE - Color backC = Color.BLACK - int textSize = 1; - String text = ""; - - private void redraw() { - GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC); - setImage(tI); - } - - public int getTextSize() { - return textSize; - } - - public void setTextSize(int s) { - if(textSize != s && s > 0) { - textSize = s; - redraw(); - } - } - - public String getText() { - return text; - } - - public void setText(String s) { - if(text != s) { - text = s; - redraw(); - } - } + + Color foreC = Color.WHITE; + Color backC = Color.BLACK; + int textSize = 1; + String text = ""; + + private void redraw() { + GreenfootImage tI = new GreenfootImage(text,textSize,foreC,backC); + setImage(tI); + } + + public int getTextSize() { + return textSize; + } + + public void setTextSize(int s) { + if(textSize != s && s > 0) { + textSize = s; + redraw(); + } + } + + public String getText() { + return text; + } + + public void setText(String s) { + if(text != s) { + text = s; + redraw(); + } + } }