当前位置:   article > 正文

Java GUI 编程学习笔记(4)—— IDEA + JFormDesigner 7_idea jformdesigner 7

idea jformdesigner 7

1 模拟四则运算案例

1.1 页面设计

在这里插入图片描述
在这里插入图片描述


  • 组合框属性
  • 在这里插入图片描述
    在这里插入图片描述

1.2 添加标题

在这里插入图片描述

1.3 给按钮添加事件

在这里插入图片描述


  • MyFrame.java
private void btnCalActionPerformed(ActionEvent e) {
        // TODO add your code here
        // 获取第一个操作数
        String firstNumStr = this.firstNum.getText().trim();
        // 获取第二个操作数
        String secondNumStr = this.secondNum.getText().trim();
        // 获取操作符
        String selectOperatorStr = this.selectedOperator.getSelectedItem().toString();

//        System.out.println("第一个操作数: " + firstNumStr);
//        System.out.println("第二个操作数: " + secondNumStr);
//        System.out.println("操作符: " + selectOperatorStr);
        int firstNum = Integer.parseInt(firstNumStr);
        int secondNum = Integer.parseInt(secondNumStr);

        int res = 0;

        switch (selectOperatorStr) {
            case "+":
                res = firstNum + secondNum;
                break;
            case "-":
                res = firstNum - secondNum;
                break;
            case "*":
                res = firstNum * secondNum;
                break;
            case "/":
                res = firstNum / secondNum;
                break;

            default:
                break;
        }

        this.resNum.setText(String.valueOf(res));
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

  • 主函数
public class Main {
    public static void main(String[] args) {
        MyFrame f = new MyFrame();
        f.setVisible(true);
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

2 给界面添加图标

  • 新建工具类 UIUtils.java
package swingtest;

import javax.swing.*;
import java.awt.*;

public class UIUtils {
    public UIUtils() {
    }

    // 修改窗体的图标
    public static void setFrameImage(JFrame jf) {
        // 获取工具类对象
        Toolkit tk = Toolkit.getDefaultToolkit();

        // 获取图片
        Image image = tk.getImage("src\\swingtest\\resource\\jsq.jpg");

        // 给窗体设置
        jf.setIconImage(image);
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

  • MyFrame.java
  • 在这里插入图片描述
  • 在这里插入图片描述

在这里插入图片描述

3 设置窗体居中

  • UIUtils.java
  // 设置窗体居中
    public static void setFrameCenter(JFrame jf) {
        /*
         * 1.获取屏幕的长、宽
         * 2、获取窗体的长、宽
         * 3、(屏幕的长-窗体的长)/ 2; (屏幕的宽-窗体的宽) / 2; 作为新坐标
         *
         * */

        // 获取工具对象
        Toolkit tk = Toolkit.getDefaultToolkit();

        // 获取屏幕的宽、高
        Dimension d = tk.getScreenSize();
        double screenWidth = d.getWidth();
        double screenHeight = d.getHeight();

        // 获取窗体的宽、高
        int frameWidth = jf.getWidth();
        int frameHeight = jf.getHeight();

        int width = (int) (screenWidth - frameWidth) / 2;
        int height = (int) (screenHeight - frameHeight) / 2;

        // 设置窗体的坐标
        jf.setLocation(width, height);

    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

  • MyFrame.java
    在这里插入图片描述
    在这里插入图片描述

4 运算添加校验和提示

  • MyFrame.java
private void btnCalActionPerformed(ActionEvent e) {
        // TODO add your code here
        // 获取第一个操作数
        String firstNumStr = this.firstNum.getText().trim();
        // 获取第二个操作数
        String secondNumStr = this.secondNum.getText().trim();
        // 获取操作符
        String selectOperatorStr = this.selectedOperator.getSelectedItem().toString();

//        System.out.println("第一个操作数: " + firstNumStr);
//        System.out.println("第二个操作数: " + secondNumStr);
//        System.out.println("操作符: " + selectOperatorStr);

        // 数据校验,必须是数字字符串
        String regex = "\\d+";
        if (!(firstNumStr.matches(regex))) {
            JOptionPane.showMessageDialog(this, "第一个操作数有误");
            this.firstNum.setText("");
            this.firstNum.requestFocus();
            return;
        }

        int firstNum = Integer.parseInt(firstNumStr);
        int secondNum = Integer.parseInt(secondNumStr);

        int res = 0;

        switch (selectOperatorStr) {
            case "+":
                res = firstNum + secondNum;
                break;
            case "-":
                res = firstNum - secondNum;
                break;
            case "*":
                res = firstNum * secondNum;
                break;
            case "/":
                res = firstNum / secondNum;
                break;

            default:
                break;
        }

        this.resNum.setText(String.valueOf(res));
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/782041
推荐阅读
相关标签
  

闽ICP备14008679号