java Swing GUI 入门-简易加法器
java Swing GUI 入门-简易加法器
觉得有用的话,欢迎一起讨论相互学习~
设计布局
注意一定不要选中Custom Create
- 放上三个Jlabel,不用设置field name 但是可以设置一下foreground 然后设置一下text 分别为First Number Second Number Result
- 然后再在右边添加三个JTextField 并且设置一下颜色和字体,其中field name 分别设置为num1Field,num2Field,resultField,其中最后的一个文本框用于输出计算结果,因此去掉框中的editable复选框.
- 下面放置三个JButton,field name分别设置为ADDButton, MODButton,CLEARButton,text分别设置为ADD,MOD,CLEAR三种.
- 拖动控件调整一下控件的布局.
注意一定不要选中Custom Create
- 可以右键Preview查看一下目前的布局
添加事件操作
- 右键ADDButton Create Listener
- 在ADDButton函数中添加以下的事件
ADDButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String num1 = num1Field.getText().trim();//trim()的作用是去掉字符串两端多余的空格
String num2 = num2Field.getText().trim();
double result = Double.parseDouble(num1) + Double.parseDouble(num2);
resultField.setText(result+"");
}
});
- 右键MODButton Create Listener
- 在MODButton函数中添加以下的事件
MODButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String num1 = num1Field.getText().trim();//trim()的作用是去掉字符串两端多余的空格
String num2 = num2Field.getText().trim();
double result = Double.parseDouble(num1) % Double.parseDouble(num2);
resultField.setText(result+"");
}
});
- 右键CLEARButton Create Listener
- 在CLEARButton函数添加以下的事件
CLEARButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
num1Field.setText("");
num2Field.setText("");
resultField.setText("");
}
});
}//end constructor
//end constructor函数反括号末尾添加注释,养成好习惯!
Generate a Form main() 生成一个main函数
演示一下
完整代码
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SimpleCalculator {
private JPanel MainPanel;
private JPanel topPanel;
private JPanel bottomPanel;
private JTextField num1Field;
private JButton ADDButton;
private JButton MODButton;
private JButton CLEARButton;
private JTextField num2Field;
private JTextField resultField;
public SimpleCalculator() {
ADDButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String num1 = num1Field.getText().trim();//trim()的作用是去掉字符串两端多余的空格
String num2 = num2Field.getText().trim();
double result = Double.parseDouble(num1) + Double.parseDouble(num2);
resultField.setText(result+"");
}
});
MODButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String num1 = num1Field.getText().trim();//trim()的作用是去掉字符串两端多余的空格
String num2 = num2Field.getText().trim();
double result = Double.parseDouble(num1) % Double.parseDouble(num2);
resultField.setText(result+"");
}
});
CLEARButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
num1Field.setText("");
num2Field.setText("");
resultField.setText("");
}
});
}//end constructor
public static void main(String[] args) {
JFrame frame = new JFrame("SimpleCalculator");
frame.setContentPane(new SimpleCalculator().MainPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}//end SimpleCalculator
标签:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)