Tämä Java-ohjelma piirtää kuvioita (ympyröitä, neliöitä ja pyöristettyjä neliöitä) kolmella eri värillä (punainen, keltainen, vihreä). Uusi kuvio on aina edellistä suurempi. Yritän olla pariin kuukauteen olla lähettämättä mitään.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class KasvavaKuvio extends JFrame {
JButton nappain = new JButton("Kasvata");
Color[] varit = {Color.red, Color.yellow, Color.green};
//Muuttujia piirtämiseen.
int indeksi = 0;
int koko = 80;
int aloitusY = 0;
int aloitusX = 0;
Random sattuma = new Random();
public KasvavaKuvio(){
super("1");
aloitusX = sattuma.nextInt(50)+10;
aloitusY = sattuma.nextInt(100)+10;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,500);
//Näppäin ja sen kuuntelija.
nappain.setBounds(400,250,90,40);
add(nappain);
setLayout(null);
setVisible(true);
nappain.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
repaint();
}
});
}
@Override
public void paint(Graphics g){
g.setColor(varit[indeksi%3]);
//Ensin piirretään kolme ympyrää, sitten neliötä ja lopuksi pyöristettyjä neliöitä
//Sen jälkeen aloitetaan alusta
//Värit vaihtuvat joka kerralla ja jokainen kuvio piirretään jokaisella värillä.
if (indeksi%9 < 3){
g.drawOval(aloitusY,aloitusX,koko,koko);
}
else if (indeksi%9 < 6){
g.drawRect(aloitusY,aloitusX,koko,koko);
}
else {
g.drawRoundRect(aloitusY,aloitusX,koko,koko,30,30);
}
indeksi++;
koko+= 10;
}
public static void main(String[] args){
new KasvavaKuvio();
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.