Asenna ensin Java ja Jcreator.
1) Tee ohjelma, joka kysyy luvun ja piirtää neliön, jossa luku on neliön sivu.
2) Lisää ohjelmaan sivun pituuden rajoitus 250 pikseliin.
3) Muuta ohjelma niin, että neliö piirretään ikkunan keskelle.
4) Tee ohjelma, joka kysyy luvun ja piirtää ympyrän, jossa luku on ympyrän halkaisija.
5) Tee ohjelma, joka piirtää ympyrän tai neliön radiopainikkeen arvon perusteella.
6) Muuta ohjelma sellaiseksi, että kuviot ovat täytettyjä.
7) Lisää toiminto, joilla kuvioiden värin voi vaihtaa.
8) Lisää toiminto, jolla kuvion keskipisteen voi vaihtaa.
9) Tee ohjelma, joka kysyy 5 lämpötilaa ja piirtää niistä viivakaavion.
10) Lopputyö: ohjelma, joka kysyy lukuja, laskee ja piirtää grafiikkaa. Esimerkiksi:
- appletti, joka vastaa toiminnaltaan katetuottotaulukkoa. Aiheeseen liittyvät kaavat. Toteuta laskenta ja grafiikka omilla luokilla.
- appletti, joka vastaa toiminnaltaan lainataulukkoa. Aiheeseen liittyvät kaavat. Toteuta laskenta, tulostus ja grafiikka omilla luokilla.
Lopputyön palautus 2.4. mennessä. Palautusvaihtoehdot: tehtävät 1-8 yhtenä ohjelmana, tehtävä 9, tehtävä 10.
import java.awt.*; import java.applet.*; import java.awt.event.*; public class Grafiikka extends Applet implements ActionListener { int x; Label lviesti; TextField tx; Button button; public void init() { x = 0; add( lviesti = new Label( "Kirjoita luku:" ) ); add( tx = new TextField( 6 ) ); add( button = new Button( "Ok" ) ); button.addActionListener( this ); } public void paint( Graphics g ) { lviesti.setBounds( 10, 10, 200 ,15 ); tx.setBounds( 10, 30, 100, 20 ); button.setBounds( 10, 60, 100, 20 ); g.drawRect( 120, 30, x, x ); } public void actionPerformed( ActionEvent e ) { if ( e.getActionCommand().equals( "Ok" ) ) { x = Integer.valueOf( tx.getText() ); if ( x >= 250 ) { lviesti.setText( "Luvun pitää olla alle 250" ); tx.setText( "" ); tx.requestFocus(); x = 0; } else { lviesti.setText( "Kirjoita luku:" ); tx.setText( "" ); tx.requestFocus(); repaint(); } } } } ------------------------------------------------------------------------- import java.awt.*; import java.applet.*; import java.awt.event.*; public class Piirto extends Applet implements ActionListener { int x, yp, np; Label lviesti; TextField tx; Button button; Checkbox n,y; CheckboxGroup tony; public void init() { x = 0; yp = 0; np = 0; add( lviesti = new Label( "Kirjoita luku:" ) ); add( tx = new TextField( 6 ) ); add( button = new Button( "Ok" ) ); button.addActionListener( this ); tony = new CheckboxGroup(); add (n = new Checkbox("Neliö ",tony,true)); add (y = new Checkbox("Ympyrä",tony,false)); } public void paint( Graphics g ) { lviesti.setBounds( 10, 10, 200 ,15 ); tx.setBounds( 10, 30, 100, 20 ); button.setBounds( 10, 60, 100, 20 ); n.setBounds( 10, 80, 100, 20 ); y.setBounds( 10, 100, 100, 20 ); g.drawRect( getSize().width/2-np/2, getSize().height/2-np/2, np, np ); g.drawOval( getSize().width/2-yp/2, getSize().height/2-yp/2, yp, yp ); } public void actionPerformed( ActionEvent e ) { if ( e.getActionCommand().equals( "Ok" ) ) { x = Integer.valueOf( tx.getText() ); if ( n.getState() == true ) { np = x; yp = 0; } if ( y.getState() == true ) { yp = x; np = 0; } repaint(); } } } ------------------------------------------------------------------------- import java.awt.*; import java.applet.*; import java.awt.event.*; public class Piirto extends Applet implements ActionListener { int x, yp, np, vari; Graphics g; Label lviesti; TextField tx; Button button; Checkbox n, y, vke, vvi, vsi, vpu; CheckboxGroup tony, varit; public void init() { x = 0; yp = 0; np = 0; vari = 0; add( lviesti = new Label( "Kirjoita luku:" ) ); add( tx = new TextField( "150" ) ); add( button = new Button( "Ok" ) ); button.addActionListener( this ); tony = new CheckboxGroup(); varit = new CheckboxGroup(); add (n = new Checkbox( "Neliö ", tony, false ) ); add (y = new Checkbox( "Ympyrä", tony, false ) ); add (vke = new Checkbox( "Keltainen", varit, false ) ); add (vvi = new Checkbox( "Vihreä ", varit, false ) ); add (vsi = new Checkbox( "Sininen ", varit, false ) ); add (vpu = new Checkbox( "Punainen ", varit, false ) ); } public void paint( Graphics g ) { lviesti.setBounds( 10, 10, 200 ,15 ); tx.setBounds( 10, 30, 100, 20 ); button.setBounds( 10, 60, 100, 20 ); n.setBounds( 10, 80, 100, 20 ); y.setBounds( 10, 100, 100, 20 ); vke.setBounds (10,120,100,20); vvi.setBounds (10,140,100,20); vsi.setBounds (10,160,100,20); vpu.setBounds (10,180,100,20); switch ( vari ) { case 1: g.setColor(Color.yellow); break; case 2: g.setColor(Color.green); break; case 3: g.setColor(Color.blue); break; case 4: g.setColor(Color.red); break; } g.fillRect( getSize().width/2-np/2, getSize().height/2-np/2, np, np ); g.fillOval( getSize().width/2-yp/2, getSize().height/2-yp/2, yp, yp ); } public void actionPerformed( ActionEvent e ) { if ( e.getActionCommand().equals( "Ok" ) ) { x = Integer.valueOf( tx.getText() ); if ( n.getState() == true ) { np = x; yp = 0; } if ( y.getState() == true ) { yp = x; np = 0; } if ( vke.getState() == true ) { vari = 1; } if ( vvi.getState() == true ) { vari = 2; } if ( vsi.getState() == true ) { vari = 3; } if ( vpu.getState() == true ) { vari = 4; } repaint(); } } } --------------------------------------------------------------------------------- import java.awt.*; import java.applet.*; import java.awt.event.*; class Suorakulmio { private int x,y; void piirra(String x, String y, Graphics p) { this.x = Integer.valueOf(x); this.y = Integer.valueOf(y); p.drawRect(100, 100, this.x, this.y); } } public class Piirtotesti extends Applet implements ActionListener { TextField tx,ty; Button bpiirra; Suorakulmio ruutu = new Suorakulmio(); public void init() { add(tx = new TextField(5)); add(ty = new TextField(5)); add(bpiirra = new Button("Ok")); bpiirra.addActionListener(this); } public void paint(Graphics g) { ruutu.piirra(tx.getText(), ty.getText(), g); } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("Ok")) { repaint(); } } } --------------------------------------------------------------------------------------------- import java.awt.*; import java.applet.*; import java.awt.event.*; class Taulu { void tulosta (int[] lukuja, Graphics p ) { for ( int i = 0 ; i < lukuja.length ; i++ ) { p.drawString("Luku: "+lukuja[i],100,i*20+10); } } void tuplaa( int[] lukuja ) { for ( int i = 0 ; i < lukuja.length ; i++ ) { lukuja[i] = lukuja[i] * 2; } } } public class TaulukkoTesti extends Applet { int[] luvut = {1,2,3,4,5,6,7,8,9,10}; Taulu taulu = new Taulu(); public void init() {} public void paint( Graphics g ) { taulu.tuplaa( luvut ); taulu.tulosta( luvut, g ); } }