Hey !
Sorry für das Geschmiere grad, ich hatte es etwas eilig.
Also, ich schreib grad aus Spaß mit BlueJ ein Paint-ähnliches Programm:
Das klappt auch schon ganz gut:
Wenn ich aber die Linienbreite verändern will, indem man die Maus auf ein Feld dafür klickt,
erhöht oder verringert sich die Linienbreite viel zu schnell:
Wisst ihr, wie ich das ändern kann??
Mein Code bisher:
|
Java Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
import sum.kern.*;
public class Paint
{ Bildschirm derBildschirm;
BuntStift meinStift;
Maus meineMaus;
int Breite;
int a1;
public Paint()
{
derBildschirm = new Bildschirm(1000,550);
meinStift = new BuntStift();
meineMaus = new Maus();
zeichneFelder();
zeichneBild();
}
void zeichneFelder()
{//Schwarzes Feld
meinStift.hoch();
meinStift.bewegeBis(500,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.SCHWARZ);
meinStift.zeichneRechteck(50,50);
//Rotes Fels
meinStift.hoch();
meinStift.bewegeBis(550,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.ROT);
meinStift.zeichneRechteck(50,50);
// Oranges Feld
meinStift.hoch();
meinStift.bewegeBis(600,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.ORANGE);
meinStift.zeichneRechteck(50,50);
//Blaues Feld
meinStift.hoch();
meinStift.bewegeBis(650,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.BLAU);
meinStift.zeichneRechteck(50,50);
//Radierer
meinStift.hoch();
meinStift.bewegeBis(700,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.WEISS);
meinStift.zeichneRechteck(50,50);
meinStift.bewegeBis(700,525);
meinStift.setzeSchriftgroesse(10);
meinStift.setzeFarbe(Farbe.SCHWARZ);
meinStift.schreibeText("Radieren");
//Cyanfarbenes Feld
meinStift.hoch();
meinStift.bewegeBis(750,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.CYAN);
meinStift.zeichneRechteck(50,50);
//Magentafarbenes Feld
meinStift.hoch();
meinStift.bewegeBis(800,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.MAGENTA);
meinStift.zeichneRechteck(50,50);
//Zahl-Feld
meinStift.hoch();
meinStift.bewegeBis(850,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.WEISS);
meinStift.zeichneRechteck(50,50);
meinStift.bewegeBis(860,537.5D);
meinStift.setzeFarbe(Farbe.SCHWARZ);
meinStift.setzeSchriftgroesse(35);
String breite= (new Integer(Breite)).toString();
meinStift.schreibeText(breite);
//Breiten-Feld-größer
meinStift.hoch();
meinStift.bewegeBis(900,500);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.SCHWARZ);
meinStift.zeichneRechteck(50,25);
meinStift.bewegeBis(900,525);
meinStift.setzeFarbe(Farbe.WEISS);
meinStift.setzeSchriftgroesse(10);
meinStift.schreibeText("Größer");
//Breiten-Feld-kleiner
meinStift.hoch();
meinStift.bewegeBis(900,525);
meinStift.setzeFuellmuster(Muster.GEFUELLT);
meinStift.setzeFarbe(Farbe.ROT);
meinStift.zeichneRechteck(50,25);
meinStift.bewegeBis(900,550);
meinStift.setzeFarbe(Farbe.WEISS);
meinStift.setzeSchriftgroesse(10);
meinStift.schreibeText("Kleiner");
}
// Dienste
public void zeichneBild()
{a1=0;
Breite = 10;
zeichneFelder();
meinStift.setzeFarbe(Farbe.WEISS);
// Aktionsteil
while (a1!=1)//!dieMaus.doppelKlick())
{
if (meineMaus.istGedrueckt())
{if((meineMaus.hPosition()>=500)&&(meineMaus.vPosition()>=500)//Die Maus im schwarzen Feld
&&(meineMaus.hPosition()<=550)&&(meineMaus.vPosition()<=550))
{meinStift.setzeFarbe(Farbe.SCHWARZ);}
if((meineMaus.hPosition()>=550)&&(meineMaus.vPosition()>=500)//Die Maus im roten Feld
&&(meineMaus.hPosition()<=600)&&(meineMaus.vPosition()<=550))
{meinStift.setzeFarbe(Farbe.ROT);}
if((meineMaus.hPosition()>=600)&&(meineMaus.vPosition()>=500)//Die Maus im orangem Feld
&&(meineMaus.hPosition()<=650)&&(meineMaus.vPosition()<=550))
{meinStift.setzeFarbe(Farbe.ORANGE);}
if((meineMaus.hPosition()>=650)&&(meineMaus.vPosition()>=500)//Die Maus im blauem Feld
&&(meineMaus.hPosition()<=700)&&(meineMaus.vPosition()<=550))
{meinStift.setzeFarbe(Farbe.BLAU);}
if((meineMaus.hPosition()>=700)&&(meineMaus.vPosition()>=500)//Die Maus im Radier-Feld
&&(meineMaus.hPosition()<=750)&&(meineMaus.vPosition()<=550))
{meinStift.setzeFarbe(Farbe.WEISS);}
if((meineMaus.hPosition()>=750)&&(meineMaus.vPosition()>=500)//Die Maus im Cyan-Feld
&&(meineMaus.hPosition()<=800)&&(meineMaus.vPosition()<=550))
{meinStift.setzeFarbe(Farbe.CYAN);}
if((meineMaus.hPosition()>=800)&&(meineMaus.vPosition()>=500)//Die Maus im Magenta-Feld
&&(meineMaus.hPosition()<=850)&&(meineMaus.vPosition()<=550))
{meinStift.setzeFarbe(Farbe.MAGENTA);}
if((meineMaus.hPosition()>=900)&&(meineMaus.vPosition()>=500)//Die Maus im Größer-Feld
&&(meineMaus.hPosition()<=950)&&(meineMaus.vPosition()<=525))
{Breite++;
zeichneFelder();}
if((meineMaus.hPosition()>=900)&&(meineMaus.vPosition()>=525)//Die Maus im Kleiner-Feld
&&(meineMaus.hPosition()<=950)&&(meineMaus.vPosition()<=550))
{Breite--;}
else{
meinStift.bewegeBis(meineMaus.hPosition(),meineMaus.vPosition());
meinStift.setzeLinienBreite(Breite);
meinStift.runter();
}}
else
{meinStift.hoch();}
}
}}
|
Tut mir leid, dass der Code jetzt nicht farbig ist;klappt irgendwie nicht.
Ich hoffe ihr könnt jetzt verstehen,was mein Problem ist und mir helfen,
Mfg Ödeee