// The copyright of this program is reserved by NL. /* Turtle Graphics : Koch Ȑ */ /* */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Ex061010d extends JApplet implements ActionListener{ dTurtle t; boolean flag=false; double length; int order; JComboBox cb; String cbl[]={"n=1","n=2","n=3","n=4","n=5","n=6","n=7"}; public void init(){ Container cp = getContentPane(); JPanel pl = new JPanel(); pl.setBackground(Color.black); t = new dTurtle(); pl.setLayout(null); cb = new JComboBox(cbl); cb.setBounds(0,0,60,20); cb.setSelectedIndex(0); cb.addActionListener(this); pl.add(cb); cp.add(pl); } public void actionPerformed(ActionEvent event){ order = cb.getSelectedIndex()+1; double m =Math.pow(3,(double)order); length=490.0/m; t.setColor(Color.yellow); t.setPos(0.0,195.0); t.setAng(0.0); flag=true; repaint(); } public void paint(Graphics g){ super.paint(g); if(flag==true) koch(order,length,g); } public void koch(int order, double length,Graphics g){ if(order==0) t.move(length,g); else{ koch(order-1,length,g); t.turn(60); koch(order-1,length,g); t.turn(-120); koch(order-1,length,g); t.turn(60); koch(order-1,length,g); } } }