目录
2.7. MyCalculatorListener.java
一、创建项目
项目目录结构:
├─ main
│ ║
│ ╠═ CalculatorFrame.java
│ ║
│ ╠═ CalculatorPanel.java
│ ║
│ ╠═ Main.java
│ ║
│ ╠═ MyCalculatorListener.java
│ ║
│ ╚═ OperationButton.java
│
├─ META-INF
│ ║
│ ╚═ MANIFEST.MF
│
├─ Icon.png
│
└─ module-info.java
其中Main.java作为启动器,属于 main-class。模块名称设置为“calculator”。
二、编写代码
2.1. module-info.java
module calculator {
requires java.desktop;
requires java.logging;
}
2.2. MANIFEST.MF
Manifest-Version: 1.0
Main-Class: main.Main
2.3. Main.java
package main;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.logging.Logger;
final class Main {
private static final Logger LOGGER = Logger.getGlobal();
void main() {
final var calculatorFrame = new CalculatorFrame("(算术逻辑单元)");
calculatorFrame.addWindowListener(
// 用于关闭窗口的事件监听
new WindowAdapter() {
@Override
public void windowClosing(final WindowEvent e) {
LOGGER.info("成功退出程序!");
super.windowClosing(e);
}
}
);
}
}
2.4. CalculatorFrame.java
package main;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
import java.