Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
. Wir haben in der Schule angefangen mit BlueJ zu arbeiten. Wir haben den Auftrag bekommen Nationalflaggen zu Zeichnen. Ich habe den Auftrag bekommen die türkische Flagge zu programmieren. Wie dem auch sei, ich habe ein großen Problem, denn ich weiß nicht wie ich geschlossene Flächen ausfüllen kann, sprich, ich hab den Umriss des Sterns, doch die Innenflächen sind nicht ausgefüllt. Wenn einer so nett wäre und mir die Befehle aufschreiben und eventuell auch was dazu erzählen könnte, wäre ich ihm äußerst dankbar.|
|
Java Quellcode |
1 2 3 4 5 6 7 8 |
@Override public void paintComponent(final Graphics graphics) { final Graphics2D g = (Graphics2D)graphics; final GeneralPath path = new GeneralPath(); //mit dem path den Stern zeichnen -> siehe Doku moveTo()/lineTo() g.fill(path); } |

|
|
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 |
import sum.kern.*; /** * Beschreiben Sie hier die Klasse TürkeiFahne. * * @author (Ihr Name) * @version (eine Versionsnummer oder ein Datum) */ public class TürkeiFahne { Bildschirm screen; Buntstift pen; public TürkeiFahne() { screen = new Bildschirm(1000,1000); pen = new Buntstift(); pen.hoch(); pen.bewegeBis(100,250); pen.runter(); pen.setzeFarbe(Farbe.ROT); pen.setzeFuellMuster(Muster.GEFUELLT); pen.zeichneRechteck(800,500); pen.hoch(); pen.bewegeBis(400,500); pen.runter(); pen.setzeFarbe(Farbe.WEISS); pen.zeichneKreis(150); pen.setzeFarbe(Farbe.ROT); pen.bewegeBis(427,500); pen.zeichneKreis(127); pen.setzeFarbe(Farbe.WEISS); pen.hoch(); pen.bewegeBis(537,500); pen.runter(); pen.bewegeBis(655,460); pen.bewegeBis(583,565); pen.bewegeBis(583,435); pen.bewegeBis(655,540); pen.bewegeBis(537,500); } } |
|
|
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 |
@SuppressWarnings("serial") public class MainWindow extends JFrame { public static void main(final String... args) { new MainWindow(); } public MainWindow() { super("Flagge"); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { setupUI(); pack(); setLocationRelativeTo(null); setVisible(true); } }); setDefaultCloseOperation(EXIT_ON_CLOSE); } private void setupUI() { add(new FlagComponent(), BorderLayout.CENTER); } } |
|
|
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 |
@SuppressWarnings("serial") public class FlagComponent extends JComponent { public FlagComponent() { setPreferredSize(new Dimension(400, 300)); } @Override protected void paintComponent(final Graphics graphics) { final Graphics2D g = (Graphics2D)graphics; final int w = getWidth(); final int h = getHeight(); g.setColor(Color.BLUE); g.fillRect(0, 0, w, h/3); g.setColor(Color.GREEN); g.fillRect(0, h/3, w, h/3); g.setColor(Color.PINK); g.fillRect(0, 2*h/3, w, h/3); final GeneralPath path = new GeneralPath(); path.moveTo(w/3, h/2); path.lineTo(w/3 + 25, h/2 + 25); path.lineTo(w/3 - 25, h/2 + 25); path.lineTo(w/3, h/2); g.setColor(Color.RED); g.fill(path); } } |
Quoted
pen.setzeLinienBreite(ZAHL);
Quoted from ""RedOne""
alles selber geschrieben
Ich denk du hast
Quoted from ""RedOne""
alles selber geschrieben
Warum lügst du uns an, in einem anderen Thread hat ein anderer ein anderes Problem mit SuM.
Ausserdem zeigst du überhaupt keine Motivation, selbst etwas zu machen.
Jedenfalls liefert dir meine aufgezeigte Lösung alles was man wissen muss, um SuM so zu erweitern, dass man Flächen füllen könnte.