0x00
疫情期间,闲来无事,在家看周易,对于一般人来说,周易的组合不好记住,比如乾卦+坤卦为否挂等,试一试应该可以用程序的实现方式来展现。(此程序为2月份在家无聊编写,写的不好请各位看官勿喷~毕竟不是专业的开发人员)
0x01
首先得了解八卦的构成。
卦象有三爻组成,爻又分为阳爻(—)和阴爻(- -)。还有八卦的口诀“乾三连,坤六断,震仰盂,艮覆碗,离中虚,坎中满,兑上缺,巽下断”。
还有就是64卦象,是八卦的两两组合,也有歌诀,但是太长就不写了,回头看代码吧。
ok,到此为止,基本的知识已经了解的差不多了。
使用java 代码,swing画GUI,先看下效果图:
以后有时间在把各个卦象的说明写下。
0x03
贴代码
import javax.swing.*;
import java.awt.*;
public class godwill {
public static void creatGUI(){
Myframe frame = new Myframe("周易 Demo");
frame.setBounds(((Toolkit.getDefaultToolkit().getScreenSize().width)/2)-300, ((Toolkit.getDefaultToolkit().getScreenSize().height)/2)-300,600,600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,400);
frame.setVisible(true);
}
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
creatGUI();
}
});
}
}
/*@author by pingl
date: 2020年2月
疫情期间闲来无事,研究一下周易八卦,发现可以用计算机的形式解析八卦
乾三连,坤六断,震仰盂,艮覆碗
离中虚,坎中满,兑上缺,巽下断
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentListener;
public class Myframe extends JFrame {
public Myframe(String title){
super(title);
String[][] hexagrams = {
{
"乾","履","同人","无妄","姤","讼","遯","否"},
{
"夬","兑","革","随","大过","困","咸","萃"},
{
"大有","睽","离","噬嗑","鼎","未济","旅","晋"},
{
"大壮","归妹","丰","震","恒","解","小过","豫"},
{
"小畜","中孚","家人","益","巽","涣","渐","观"},
{
"需","节","既济","屯","井","坎","蹇","比"},
{
"大畜","损","贲","颐","蛊","蒙","艮","剥"},
{
"泰","临","明夷","复","升","师","谦","坤"}};
//不使用布局器
Container root = this.getContentPane();
root.setLayout(null);
//由于没有布局器,所以默认的,子控件无法显示
JLabel gua1 = new ColorfulLabel("第一卦",Color.white);
JLabel name1 = new ColorfulLabel("卦名",Color.white);
JLabel gau2 = new ColorfulLabel("第二卦",Color.white);
JLabel name2 = new ColorfulLabel("卦名",Color.white);
JLabel name3 = new ColorfulLabel("综合挂",Color.white);
//JTextField[] text = null;
JTextField textField