Hab folgendes kleines Programm geschrieben. Über zwei Menüs kann man einen Kreis wachsen/schrumpfen und nach links/nach rechts bewegen lassen.
Beim compilen gibt es keine Probleme. Wenn ich das Prog. ausführe funktioniert aber nur wachsen/schrumpfen, links und rechts funktioniert nicht, sprich da passiert überhaupt nichts.
Hat zufällig jemand eine Idee an was das liegen könnte?
Beim compilen gibt es keine Probleme. Wenn ich das Prog. ausführe funktioniert aber nur wachsen/schrumpfen, links und rechts funktioniert nicht, sprich da passiert überhaupt nichts.
Hat zufällig jemand eine Idee an was das liegen könnte?
Code:
import java.awt.*;
import java.awt.event.*;
public class MenuBalloon extends Frame implements ActionListener, WindowListener{
private Balloon meinBalloon;
private MenuItem wachsen, schrumpfen;
private MenuItem links, rechts;
public static void main (String[] args){
Frame f = new MenuBalloon();
f.setSize(400,400);
f.setVisible(true);
}
public MenuBalloon() {
setTitle("Balloon");
setLayout(new FlowLayout());
MenuBar menuBalken = new MenuBar();
Menu groesseMenu = new Menu("Größe");
wachsen = new MenuItem("Wachsen");
groesseMenu.add(wachsen);
wachsen.addActionListener(this);
schrumpfen = new MenuItem("Schrumpfen");
groesseMenu.add(schrumpfen);
schrumpfen.addActionListener(this);
menuBalken.add(groesseMenu);
Menu bewegenMenu = new Menu("Bewegen");
links = new MenuItem("Links");
bewegenMenu.add(links);
links.addActionListener(this);
bewegenMenu.addSeparator();
rechts = new MenuItem("Rechts");
bewegenMenu.add(rechts);
rechts.addActionListener(this);
menuBalken.add(bewegenMenu);
setMenuBar(menuBalken);
this.addWindowListener(this);
meinBalloon = new Balloon();
}
public void actionPerformed(ActionEvent event){
if (event.getSource() == wachsen)
meinBalloon.aendereGroesse(10);
if (event.getSource() == schrumpfen)
meinBalloon.aendereGroesse(-10);
if (event.getSource() == links);
meinBalloon.bewegeX(-10);
if (event.getSource() == rechts);
meinBalloon.bewegeX(10);
repaint();
}
public void paint(Graphics g){
meinBalloon.anzeigen(g);
}
public void windowClosing(WindowEvent event){
System.exit(0);
}
public void windowIconified(WindowEvent event){
}
public void windowOpened(WindowEvent event){
}
public void windowClosed(WindowEvent event){
}
public void windowDeiconified(WindowEvent event){
}
public void windowActivated(WindowEvent event){
}
public void windowDeactivated(WindowEvent event){
}
}
class Balloon{
private int durchmesser = 20;
private int xKoord = 100, yKoord=100;
/*Balloon(int startDurchmesser, int startX, int startY) {
durchmesser = startDurchmesser;
xKoord = startX;
yKoord = startY;
}*/
public void anzeigen(Graphics g) {
g.drawOval(xKoord, yKoord, durchmesser, durchmesser);
}
public void aendereGroesse(int delta) {
durchmesser = durchmesser + delta;
}
public void bewegeX(int delta) {
xKoord = xKoord + delta;
}
}