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.