用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()
好文链接
发表评论