用Java實現周易算卦

 一、源代碼

/**

 * 搖一卦:根據周易原理實現算卦

 *

 * @author YangYong

 *

 */

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

 

public class Fortune_telling {

  private JFrame frame = null;

  private JLabel[] label = null;

  private JTextField[] text = null;

  private JButton[] button = null;

 

  public static void main(String[] args) {

     newFortune_telling().myHandler();

  }

 

  public Fortune_telling() {

     frame = new JFrame("搖一卦");

     int height, widht;

     height = Toolkit.getDefaultToolkit().getScreenSize().height;

     widht = Toolkit.getDefaultToolkit().getScreenSize().width;

     frame.setBounds((widht - 500) >> 2, (height - 309) >> 2, 500,309);

     label = new JLabel[2];

     text = new JTextField[2];

     button = new JButton[2];

     frame.setLayout(new GridLayout(3, 2));

     label[0] = new JLabel("卦名:");

     label[1] = new JLabel("爻序(從下到上):");

     text[0] = new JTextField();

     text[1] = new JTextField();

     button[0] = new JButton("清空");

     button[1] = new JButton("搖一卦");

     int i;

     for (i = 0; i < label.length; i++) {

       frame.add(label[i]);

       text[i].setEditable(false);

       text[i].setFont(new Font(Font.DIALOG, Font.BOLD, 20));

       frame.add(text[i]);

     }

     frame.add(button[0]);

     frame.add(button[1]);

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

     frame.setResizable(false);

     frame.setVisible(true);

  }

 

  public void myHandler() {

     String[] gua= newString[] { "", "", "", "", "", "", "", "", "小畜", "", "", "", "同人", "大有", "", "",

         "", "", "", "", "噬嗑", "", "", "", "無妄", "大畜", "", "大過", "", "", "", "", "", "大壯", "",

         "明夷", "家人", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "歸妹", "",

         "", "", "", "", "", "中孚", "小過", "既濟", "未濟" };

     button[0].addActionListener(new ActionListener() {

       @Override

       public voidactionPerformed(ActionEvent e) {

         text[0].setText(null);

         text[1].setText(null);

       }

     });

     button[1].addActionListener(new ActionListener() {

       @Override

       public voidactionPerformed(ActionEvent e) {

         Randomra = new Random();

         text[0].setText(gua[ra.nextInt(gua.length)] + "");

         text[1].setText("" + (ra.nextInt(6) + 1));

       }

     });

  }

}

二、運行與測試


運行效果

發佈了42 篇原創文章 · 獲贊 65 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章