用Java实现好玩的可DIY的音乐计算器v0.33

特点:个性化,定制化,可简单DIY;

(不是什么程序都能简单DIY;)

一、功能简介:

计算器菜单&按键板功能: 加减乘除四则运算,十六进制"hex"计算,带"pi"与"e"的常数计算(如圆和球体),带括号的公式计算"f(x)",高次幂与开方计算,常用对数与自然对数计算,三角函数计算,阶乘与倒数计算,时间计算;(可简单DIY)

常数查询:常用"Maths"数学常数,常用"Physics"物理常数;(可简单添加)

预定义三种界面:(待实现, 详见v0.33预置菜单) a. 典型界面"Typical"; (不可DIY) b. 个性化界面"Personal"; (可DIY) c. 科学计算器"Scientific"; (可DIY) d. 界面可拖拉变形: (见后面图, 可复位到启动界面)

时钟功能; 日历查询&时间计算功能: a. 时钟日历显示; (见后面图, 时间/日期/星期/周数) b. 时钟日历查询; (v0.34后逐步完善) c. 时钟日历计算; (v0.34后逐步完善) d. midi音乐报时钟; (与midi配合,可DIY音乐) e. 语音报时钟; (定时提醒功能, 语音素材准备中)

实时天气查询功能:(需联网,包括室内外温/湿度/PM2.5)

Midi功能: (或将集成到v0.35) a. midi音乐播放功能; (播放已有".mid"文件) b. midi音乐简谱编曲功能; (见图,参考本博客相关文章) c. midi音乐简易键盘功能; (类似电子琴自动和弦&节拍)

示例演示: (相当于帮助说明, 包括预置查询资料)

版本计划:v1.00将是完整版,到时将具备以上绝大部分功能;以后或扩充或完善不确定。

二、菜单实现:

Java的优势: 比C++/C实现简单,比Python速度快,且应用更广泛。

Java的菜单:利用可变长度的二维或多维数组做菜单特别方便,可以轻松做出复杂的菜单;(参看后面菜单定义的源代码)

三、对话框实现:

1. 对话框信息:

//对话框定义;物主:frame;模式:true;

private Dialog about = new Dialog(frame,"关于",true);

private Label info = new Label("Auther:yy-2020",Label.CENTER);

2. 对话框实现:

//v0.34;定义"关于"对话框about;v0.33新增;

private void aboutInit() {

about.setSize(100,70);

about.setLocationRelativeTo(frame); //位置跟随;关联frame;

about.setResizable(false); //默认true;

about.add(info,BorderLayout.CENTER); //,"Center";

about.addWindowListener(new MyWinListen()); //注册窗口监听器;MyWinListen;

about.setVisible(true);

}

3. 对话框启动:

case "About": aboutInit();break;

4. 对话框关闭:

对话框about直接关闭即可,只有主窗口(frame)才完全退出;

//v0.33;20221001;退窗口事件响应类;

//exit.addActionListener(e->System.exit(0));

class MyWinListen extends WindowAdapter{

public void windowClosing(WindowEvent e){

e.getWindow().setVisible(false); //关闭窗口;

e.getWindow().dispose(); //释放资源;

if(e.getSource()

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。