Home Java javaTutorial How to implement a simple calculator interface in java swing

How to implement a simple calculator interface in java swing

Apr 29, 2023 pm 06:34 PM
java swing

Knowledge applied:

1. The use of the commonly used top-level container JFrame class
2. The use of the commonly used intermediate container JPanel class
3. The use of single-line text boxes Use of the implementation class JTextField class
4. Use of the button implementation class JButton class
5. Use of the border layout manager
6. Use of the grid layout manager

Basic idea:

1. Create a window f1
2. Create a text box t1
3. Create an inner panel p3 and save the text box t1
4 .Create 16 buttons
5.Create inner panel p2, set to grid layout, used to save 16 buttons
6.Create outer panel p1, set to border layout, save p3 in the north and save in the middle p2

The following is the specific code implementation, which can be run directly

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

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

import javax.swing.JFrame;   //顶层容器 (框架)

import javax.swing.JPanel; //中间容器 (嵌板)最常用的面板

import javax.swing.JTextField; //单行文本框的实现类

import javax.swing.JButton;  //按钮

import javax.swing.border.EmptyBorder;

//需要用EmptyBorder类来设置面板的边框属性

import javax.swing.SwingConstants;

//SwingConstants是一个通常用于在屏幕上定位(位置)或定向(方向)组件的常量的集合

import java.awt.*; //布局管理器的类在这里面

 

public class calculator

{

    public static void main(String[] args)

    {

        JFrame f1 = new JFrame("计算器");  //创建顶层容器(窗口)

        f1.setSize(250, 300);        //设置窗口大小

 

        JPanel p1 = new JPanel(new BorderLayout(5,5)); //创建一个面板

        //里面的new BorderLayout(5,5)是设置面板的布局(边框布局)

        //其中(5,5)的第1个5表示上下控件间距,第2个表示左右控件间距

         

        p1.setBorder(new EmptyBorder(5,5,5,5));   //设置边界距离  border 边界

        //面板的setBorder函数,用于设置面板边缘向内收缩宽度

        //里面的EmtyBorder(5,5,5,5)表示面板上,左,下,右各向内收缩 5个像素

         

        JTextField t1 = new JTextField(); //创建一个单行文本框

        t1.setColumns(10);  //这个用于设置文本框的列数  Columns 列

        t1.setHorizontalAlignment(SwingConstants.RIGHT); //设置文本框右对齐    

        //Horizontal 水平的        Alignment 对齐  记两个单词

         

        JPanel p2 = new JPanel(new GridLayout(4,4,5,5));//创建第二个面板

        //其中设置其布局为网格布局,(第一个4表示1行4个控件)

        //第2个4表示1列4个控件,第1个5表示上下控件间隔为5,第2个5表示左右控件间隔为5(像素)

 

        JButton b1 = new JButton("7");    //创建16个按钮

        JButton b2 = new JButton("8");

        JButton b3 = new JButton("9");

        JButton b4 = new JButton("/");

         

        JButton b5 = new JButton("4");

        JButton b6 = new JButton("5");

        JButton b7 = new JButton("6");

        JButton b8 = new JButton("*");

 

        JButton b9 = new JButton("1");

        JButton b10 = new JButton("2");

        JButton b11 = new JButton("3");

        JButton b12 = new JButton("-");

         

        JButton b13 = new JButton("0");

        JButton b14 = new JButton(".");

        JButton b15 = new JButton("=");

        JButton b16 = new JButton("+");

 

        p2.add(b1);    //将16个按钮全部添加到网格布局的面板p2中

        p2.add(b2);

        p2.add(b3);

        p2.add(b4);

         

        p2.add(b5);

        p2.add(b6);

        p2.add(b7);

        p2.add(b8);

         

        p2.add(b9);

        p2.add(b10);

        p2.add(b11);

        p2.add(b12);

         

        p2.add(b13);

        p2.add(b14);

        p2.add(b15);

        p2.add(b16);

         

        JPanel p3 = new JPanel();   //创建第三个面板,用于保存之前的文本框t1

        p3.add(t1);     //将文本框t1添加到面板p3中

        p1.add(p3,BorderLayout.NORTH);//将p3添加到 为边框布局面板的p1的北部

        p1.add(p2,BorderLayout.CENTER); //将p2添加到面板的中部

         

        f1.add(p1);           //p1面板添加到窗口

        f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭时操作

        f1.setVisible(true);   //设置可见

    }

}

Copy after login

Run result:

How to implement a simple calculator interface in java swing

The above is the detailed content of How to implement a simple calculator interface in java swing. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Smith Number in Java Smith Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

Java Spring Interview Questions Java Spring Interview Questions Aug 30, 2024 pm 04:29 PM

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Java Program to Find the Volume of Capsule Java Program to Find the Volume of Capsule Feb 07, 2025 am 11:37 AM

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHP vs. Python: Understanding the Differences PHP vs. Python: Understanding the Differences Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

Create the Future: Java Programming for Absolute Beginners Create the Future: Java Programming for Absolute Beginners Oct 13, 2024 pm 01:32 PM

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.

See all articles