内容发布更新时间 : 2024/12/23 21:46:33星期一 下面是文章的全部内容请认真阅读。
(3)乘方取余法流程
三、系统运行结果(截图)
1、主菜单
将S添加到show文本框 Y 执行乘方、取余法运算得Mun1是否存在 N 将S添加到show文本框
四、课程设计总结
通过此次课程设计,使我更加扎实的掌握了有关JAVA图形界面布局等方面的知识,虽然在设计过程中也遇到了很多问题,但经过一次又一次的思考,一遍又一遍检查和反复修改终于找到了原因所在,也暴露了前期我在这方面的知识欠缺。课程设计是一种实践活动,不但可以提升专业知识和专业能力,也培养了我们独立思考,动手操作的能力,使我对抽象的知识有了具体的认识。这对于我们的将来也有很大的帮助。此次课程设计也让我明白没有最完善的程序代码,只有不断地改善才能使程序变得更完美,同时也增强了我对JAVA的兴趣,相信继续保持下去对JAVA的理解一定会更上一层楼。
附录:程序源码
import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.JTextField;
public class Calculator extends JFrame implements ActionListener {
JMenuBar jmb; JMenu jm1,jm2,jm3; JMenuItem jmi;
/** 计算器上的键的显示名字 */
private final String[] KEYS = { \, \, \, \, \, \, \, \,
\, \, \, \, \, \, \, \, \, \, \, \ }; /** 计算器上的功能键的显示名字 */
private final String[] COMMAND = { \, \, \ };
/** 计算器上键的按钮 */
private JButton keys[] = new JButton[KEYS.length];
/** 计算器上的功能键的按钮 */
private JButton commands[] = new JButton[COMMAND.length]; /** 计算器左边的M的按钮 */
/** 计算结果文本框 */
private JTextField resultText = new JTextField(\);
// 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 private boolean firstDigit = true; // 计算的中间结果。
private double resultNum = 0.0; // 当前运算的运算符
private String operator = \;
// 操作是否合法
private boolean operateValidFlag = true; /** * 构造函数
*/
public Calculator() { super();
JMenuBar jmb=new JMenuBar();
this.setJMenuBar(jmb);
JMenu jm=new JMenu(\编辑(E)\); jmb.add(jm);
jmi= new JMenuItem(\复制(c) Ctrl+c\); jm.add(jmi);
jmi= new JMenuItem(\粘贴(p) Ctrl+v\); jm.add(jmi);
jm2=new JMenu(\查看(v)\); jmb.add(jm2);
jmi= new JMenuItem(\标准型(T)\); jm2.add(jmi);
jmi= new JMenuItem(\科学型(S)\); jm2.add(jmi);
jm2.add(new JSeparator());
jmi= new JMenuItem(\数学分组(I)\); jm2.add(jmi);
jm3=new JMenu(\帮助(H)\); jmb.add(jm3);
jmi= new JMenuItem(\帮助主题(H)\); jm3.add(jmi);
jm3.add(new JSeparator());
jmi= new JMenuItem(\关于计算器(A)\); jm3.add(jmi);
// 初始化计算器 init();
// 设置计算器的背景颜色
this.setBackground(Color.LIGHT_GRAY); this.setTitle(\计算器\);
// 在屏幕(500, 300)坐标处显示计算器 this.setLocation(500, 300); // 不许修改计算器的大小
this.setResizable(false); // 使计算器中各组件大小合适 this.pack(); } /**
* 初始化计算器
*/
private void init() {
// 文本框中的内容采用右对齐方式
resultText.setHorizontalAlignment(JTextField.RIGHT); // 不允许修改结果文本框
resultText.setEditable(false);
// 设置文本框背景颜色为白色
resultText.setBackground(Color.WHITE);
// 初始化计算器上键的按钮,将键放在一个面板内 JPanel calckeysPanel = new JPanel();
// 用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素
calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3)); for (int i = 0; i < KEYS.length; i++) { keys[i] = new JButton(KEYS[i]); calckeysPanel.add(keys[i]);
keys[i].setForeground(Color.blue); }
// 运算符键用红色标示,其他键用蓝色表示 keys[3].setForeground(Color.red); keys[8].setForeground(Color.red); keys[13].setForeground(Color.red); keys[18].setForeground(Color.red); keys[19].setForeground(Color.red);
// 初始化功能键,都用红色标示。将功能键放在一个面板内 JPanel commandsPanel = new JPanel();
// 用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素
commandsPanel.setLayout(new GridLayout(1, 3, 3, 3)); for (int i = 0; i < COMMAND.length; i++) { commands[i] = new JButton(COMMAND[i]); commandsPanel.add(commands[i]); commands[i].setForeground(Color.red); }
// 下面进行计算器的整体布局,将calckeys和command面板放在计算器的中下部
// 新建一个大的面板,将上面建立的command和calckeys面板放在该面板内 JPanel panel1 = new JPanel();
// 面板采用边界布局管理器,面板里组件之间的水平和垂直方向上间隔都为3象素 panel1.setLayout(new BorderLayout(3, 3));