DrawingFramebk.java~1~
上传用户:qiye11114
上传日期:2010-01-20
资源大小:126k
文件大小:4k
源码类别:

其他智力游戏

开发平台:

Java

  1. package hanoi;
  2. import java.awt.BorderLayout;
  3. import javax.swing.JFrame;
  4. import java.awt.*;
  5. import javax.swing.JTextArea;
  6. import javax.swing.*;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. /**
  10.  * <p>Title: Hanoi Pan</p>
  11.  *
  12.  * <p>Description: </p>
  13.  *
  14.  * <p>Copyright: Copyright (c) 2005</p>
  15.  *
  16.  * <p>Company: </p>
  17.  *
  18.  * @author ZhangYuan
  19.  * @version 1.0
  20.  */
  21. public class DrawingFrame extends JFrame {
  22.     private int level;
  23.     JTextArea jTextArea1 = new JTextArea();
  24.     JButton jButton1 = new JButton();
  25.     Hanoi_pan myHanoi_pan[];
  26.     JButton jButton2 = new JButton();
  27.     JButton jButton3 = new JButton();
  28.     public DrawingFrame(int n) {
  29.         try {
  30.             level=n;
  31.             myHanoi_pan = new Hanoi_pan[level];
  32.             jbInit();
  33.         } catch (Exception exception) {
  34.             exception.printStackTrace();
  35.         }
  36.     }
  37.     private void jbInit() throws Exception {
  38.         Init();
  39.         getContentPane().setLayout(null);
  40.         this.setResizable(false);
  41.         this.setTitle("Hanoi");
  42.         setSize(new Dimension(400, 300));
  43.         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  44.         Dimension frameSize =this.getSize();
  45.         if (frameSize.height > screenSize.height) {
  46.             frameSize.height = screenSize.height;
  47.         }
  48.         if (frameSize.width > screenSize.width) {
  49.             frameSize.width = screenSize.width;
  50.         }
  51.         this.setLocation((screenSize.width - frameSize.width) / 2,
  52.                           (screenSize.height - frameSize.height) / 2);
  53.         this.setVisible(true);
  54.         jButton2.setBounds(new Rectangle(153, 218, 87, 26));
  55.         jButton2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 12));
  56.         jButton2.setText("重绘");
  57.         jButton2.addActionListener(new DrawingFrame_jButton2_actionAdapter(this));
  58.         jButton3.setBounds(new Rectangle(252, 217, 89, 27));
  59.         jButton3.setFont(new java.awt.Font("Dialog", Font.PLAIN, 12));
  60.         jButton3.setToolTipText("");
  61.         jButton3.setText("退出");
  62.         jButton3.addActionListener(new DrawingFrame_jButton3_actionAdapter(this));
  63.         this.getContentPane().add(jButton2);
  64.         this.getContentPane().add(jButton3);
  65.     }
  66.     /*public void (Graphics g) {
  67.         g.setColor(Color.black);
  68.         g.drawLine(35,150,125,150);
  69.         g.drawLine(155,150,245,150);
  70.         g.drawLine(275,150,365,150);
  71.         g.drawLine(80,50,80,150);
  72.         g.drawLine(200,50,200,150);
  73.         g.drawLine(320,50,320,150);
  74.         g.setColor(Color.blue);
  75.         for (int i=1;i<=level;i++) {
  76.             g.drawRect(myHanoi_pan[i-1].x,myHanoi_pan[i-1].y,myHanoi_pan[i-1].width,myHanoi_pan[i-1].height);
  77.         }
  78.     }*/
  79.     private void drawHanoi() {
  80.         myHanoi_pan[1].x+=20;
  81.         //repaint();
  82.     }
  83.     private void Init() {
  84.         for (int i=1;i<=level;i++) {
  85.             myHanoi_pan[i-1]= new Hanoi_pan(80-5*i,150-10*(level-i+1),10*i,10);
  86.         }
  87.     }
  88.     public void jButton2_actionPerformed(ActionEvent e) {
  89.         drawHanoi();
  90.     }
  91.     public void jButton3_actionPerformed(ActionEvent e) {
  92.         System.exit(0);
  93.     }
  94.     /*private void hanoi(int n,char x,char y,char z) {
  95.         if (n == 1) {
  96.             move(x, 1, z);
  97.         } else {
  98.             hanoi(n - 1, x, z, y);
  99.             move(x, n, z);
  100.             hanoi(n - 1, y, x, z);
  101.         }
  102.     }*/
  103. }
  104. class DrawingFrame_jButton3_actionAdapter implements ActionListener {
  105.     private DrawingFrame adaptee;
  106.     DrawingFrame_jButton3_actionAdapter(DrawingFrame adaptee) {
  107.         this.adaptee = adaptee;
  108.     }
  109.     public void actionPerformed(ActionEvent e) {
  110.         adaptee.jButton3_actionPerformed(e);
  111.     }
  112. }
  113. class DrawingFrame_jButton2_actionAdapter implements ActionListener {
  114.     private DrawingFrame adaptee;
  115.     DrawingFrame_jButton2_actionAdapter(DrawingFrame adaptee) {
  116.         this.adaptee = adaptee;
  117.     }
  118.     public void actionPerformed(ActionEvent e) {
  119.         adaptee.jButton2_actionPerformed(e);
  120.     }
  121. }