//凹みのある箱(Zバッファで隠面除去) [Gr3d6a.java](JDK 1.0.2) //% Gr3d6.javaをコピー //% Box4 bx = new Box4(); import java.applet.Applet; import java.awt.*; //!import java.awt.event.*; // JDK 1.1 //!public class Gr3d6a extends Applet //! implements AdjustmentListener { // JDK 1.1 public class Gr3d6a extends Applet { //! Scrollbar scrX,scrY; // Scrollbar //Box3 bx = new Box3(); Box4 bx = new Box4(); Color [] Col={Color.gray,Color.cyan,Color.green, Color.red,Color.white,Color.orange, Color.magenta,Color.blue}; float [][]ZB; // Zバッファ Image doubleBuf; // ダブルバッファ int bufLen=350; // バッファの大きさ Graphics gg; public void init() { // ロード時の初期化メソッド doubleBuf=createImage(bufLen,bufLen); gg=doubleBuf.getGraphics(); // Graphicsオブジェクトの代入 ZB=new float[bufLen][bufLen]; // Zバッファの作成 setLayout(new BorderLayout()); Panel p=new Panel(); p.setLayout(new GridLayout(2,2,0,5)); // 行,列,hgap,vgap scrX= new Scrollbar(Scrollbar.HORIZONTAL,30,20,-180,190); scrY= new Scrollbar(Scrollbar.HORIZONTAL,30,20,-180,190); p.add(scrX); // X軸方向の回転 p.add(new Label(" X-Rotation (-180 .. +180)")); p.add(scrY); // Y軸方向の回転 p.add(new Label(" Y-Rotation (-180 .. +180)")); //!add(p,"South"); add("South",p); //! //!scrX.addAdjustmentListener(this); // JDK 1.1 //!scrY.addAdjustmentListener(this); // JDK 1.1 setBackground(new Color(128,128,255)); // 背景色 } //end init //! //========= JDK 1.1 イベント処理(スクロールバー) ========= //! public void adjustmentValueChanged(AdjustmentEvent e) { //! repaint(); //! } //end adjustmentValueChanged //========= JDK 1.0.2 イベント処理(スクロールバー) ========= public boolean handleEvent(Event e) { //! イベントの処理 repaint(); //! return true; //! } //end handleEvent //! //================= グラフィックスの表示 ================= public void paint(Graphics g) { for (int i=0; i