Hi,
wir beschäftigen uns zur Zeit mit Grafiken in Java und ich habe folgendes Problem:
ich habe ein programm geschrieben dass zufälligerweise rechtecke oder ellipsen zeichnet.
Eigentlich sollte auch die Farbe zufall sein.
Nur gehts irgendwie nicht.
wenn ich mache g.setColor(Color(c))
sagt er mir :
D:\Malstunde.java:37: cannot find symbol
symbol : method Color(int)
location: class Rect
g.setColor(Color(c));
wenn ich mache g.setColor(c)
sagt er mir:
D:\Malstunde.java:18: setColor(java.awt.Color) in java.awt.Graphics cannot be applied to (int)
g.setColor(c);
Was mache ich falsch?!
Die Farbe wird in einem Int Wert zwischen 0 und 255 übergeben.
wir beschäftigen uns zur Zeit mit Grafiken in Java und ich habe folgendes Problem:
ich habe ein programm geschrieben dass zufälligerweise rechtecke oder ellipsen zeichnet.
Eigentlich sollte auch die Farbe zufall sein.
Nur gehts irgendwie nicht.
wenn ich mache g.setColor(Color(c))
sagt er mir :
D:\Malstunde.java:37: cannot find symbol
symbol : method Color(int)
location: class Rect
g.setColor(Color(c));
wenn ich mache g.setColor(c)
sagt er mir:
D:\Malstunde.java:18: setColor(java.awt.Color) in java.awt.Graphics cannot be applied to (int)
g.setColor(c);
Was mache ich falsch?!
Die Farbe wird in einem Int Wert zwischen 0 und 255 übergeben.
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Oval{
private int x,y,c;
private double w, h;
Oval(int x, int y, double width, double heigth, int c){
this.x=x;
this.y=y;
w=width;
h=heigth;
this.c=c;
}
void drawMe (Graphics g){
g.setColor(c);
g.fillOval((int)x, (int)y, (int)w, (int)h);
}
}
class Rect{
private int x,y,c;
private double w, h;
Rect(int x, int y, double width, double heigth, int c){
this.x=x;
this.y=y;
w=width;
h=heigth;
this.c=c;
}
void drawMe (Graphics g){
g.setColor(Color(c));
g.fillRect((int)x, (int)y, (int)w, (int)h);
}
}
class MyFrame extends JFrame{
MyFrame(){
JFrame frame = new JFrame("Zeichnen von 12 Klecksen");
frame.getContentPane().add(new Zeichenflaeche());
frame.setSize(300,300);
frame.setVisible(true);
frame.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
}
class Zeichenflaeche extends Canvas{
int zufall(int anfang, int ende){
return (int)(anfang+(Math.random()*(ende+1)));
}
double zufalldouble(int anfang, int ende){
return anfang+(Math.random()*(ende+1));
}
public void paint (Graphics g){
for (int i=0; i<12; i++){
int x = zufall(0,400);
int y = zufall(0,400);
double width = zufalldouble(50,150);
double heigth = zufalldouble(50,100);
int farbe = zufall(0,255);
int rectOrOval = zufall (1,100);
if (rectOrOval>50){
Rect rechteck = new Rect(x,y,width,heigth,farbe);
rechteck.drawMe(g);
}
else{
Oval oval = new Oval(x,y,width,heigth,farbe);
oval.drawMe(g);
}
}
}
}
class Malstunde{
public static void main (String [] args){
MyFrame f = new MyFrame();
}
}