// The copyright of this program is reserved by NL. /* HilbertȐ */ /* */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Ex061010f extends JApplet implements ActionListener{ boolean flag=false; int order; double leng; dTurtle t; 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(5,405); t.setColor(Color.yellow); 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; t.setPos(5,405); t.setAng(0); flag=true; leng=400.0/(Math.pow(2.0,order)-1.0); repaint(); } public void paint(Graphics g){ super.paint(g); if(flag==true) Hilbert(order,90.0,g); } public void Hilbert(int order, double th, Graphics g){ if(order>0){ t.turn(th); Hilbert(order-1,-th,g); t.move(leng,g); t.turn(-th); Hilbert(order-1,th,g); t.move(leng,g); Hilbert(order-1,th,g); t.turn(-th); t.move(leng,g); Hilbert(order-1,-th,g); t.turn(th); } } }