App下載

Java圖形界面工具類Swing實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器界面

猿友 2021-07-26 15:25:54 瀏覽數(shù) (2516)
反饋

本篇文章將結(jié)合 Java 圖形界面工具 Swing 類中的容器、布局管理器以及部分常用的基本組件,綜合運(yùn)用這些知識(shí),實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器界面。本文以供大家參考,希望能對(duì)大家的學(xué)習(xí)有所幫助。

計(jì)算器在以前相當(dāng)于就是一門(mén)神器,可惜目前隨著計(jì)算機(jī)的強(qiáng)大,計(jì)算器也逐漸地沒(méi)落了,開(kāi)始漸漸地并入了計(jì)算機(jī)當(dāng)中。大家熟知的計(jì)算器界面大多是分為兩個(gè)界面,即顯示區(qū)和鍵盤(pán)區(qū)。顯示區(qū)可以用一個(gè)文本框組件,鍵盤(pán)區(qū)需要用很多的按鈕,用網(wǎng)格布局管理器完成。

(1)新建一個(gè)繼承自 JFrame 的 CalculatorDemo類,為這個(gè)類添加構(gòu)造方法以及 main 方法。

import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
public class CalculatorDemo extends JFrame
{
    private JPanel contentPane;    //內(nèi)容面板
    private JTextField textField;    //文本框
    public CalculatorDemo(){};    //構(gòu)造方法
    public static void main(String[] args)
    {
        CalculatorDemo frame=new CalculatorDemo();
        frame.setVisible(true);
    }
}

(2)在構(gòu)造方法內(nèi),設(shè)置窗口的內(nèi)容,并完成計(jì)算機(jī)的主體部分。向邊界的北部添加一個(gè) JTextField 組件,實(shí)現(xiàn)顯示區(qū)在上面。

public CalculatorDemo()
{
    setTitle("計(jì)算器");    //設(shè)置窗體的標(biāo)題
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    //設(shè)置窗體退出時(shí)操作
    setBounds(100, 100, 250, 200);    //設(shè)置窗體位置和大小
    contentPane=new JPanel();    //創(chuàng)建內(nèi)容面板
    contentPane.setBorder(new EmptyBorder(5,5,5,5));    //設(shè)置面板的邊框
    contentPane.setLayout(new BorderLayout(0,0));    //設(shè)置內(nèi)容面板為邊界布局
    setContentPane(contentPane);    //應(yīng)用內(nèi)容面板
    JPanel panel1=new JPanel();    //新建面板用于保存文本框
    contentPane.add(panel1,BorderLayout.NORTH);    //將面板放置在邊界布局的北部
    textField=new JTextField();    //新建文本框
    textField.setHorizontalAlignment(SwingConstants.RIGHT);    //文本框中的文本使用右對(duì)齊
    panel1.add(textField);    //將文本框增加到面板中
    textField.setColumns(18);    //設(shè)置文本框的列數(shù)是18
}

(3)將內(nèi)容區(qū)部分以邊框中部進(jìn)行填充,設(shè)置 panel2 的布局管理器為網(wǎng)格布局管理。

JPanel panel2=new JPanel();    //新建面板用于保存按鈕
contentPane.add(panel2, BorderLayout.CENTER);    //將面板放置在邊界布局的中央
panel2.setLayout(new GridLayout(4,4,5,5));    //面板使用網(wǎng)格4X4布局
JButton button01=new JButton("7");    //新建按鈕
panel2.add(button01);    //應(yīng)用按鈕
JButton button02=new JButton("8");    //新建按鈕
panel2.add(button02);    //應(yīng)用按鈕
JButton button03=new JButton("9");    //新建按鈕
panel2.add(button03);    //應(yīng)用按鈕
JButton button04=new JButton("+");    //新建按鈕
panel2.add(button04);    //應(yīng)用按鈕
JButton button05=new JButton("4");    //新建按鈕
panel2.add(button05);    //應(yīng)用按鈕
JButton button06=new JButton("5");    //新建按鈕
panel2.add(button06);    //應(yīng)用按鈕
JButton button07=new JButton("6");    //新建按鈕
panel2.add(button07);    //應(yīng)用按鈕
JButton button08=new JButton("-");    //新建按鈕
panel2.add(button08);    //應(yīng)用按鈕
JButton button09=new JButton("3");    //新建按鈕
panel2.add(button09);    //應(yīng)用按鈕
JButton button10=new JButton("2");    //新建按鈕
panel2.add(button10);    //應(yīng)用按鈕
JButton button11=new JButton("1");    //新建按鈕
panel2.add(button11);    //應(yīng)用按鈕
JButton button12=new JButton("*");    //新建按鈕
panel2.add(button12);    //應(yīng)用按鈕
JButton button13=new JButton("0");    //新建按鈕
panel2.add(button13);    //應(yīng)用按鈕
JButton button14=new JButton(".");    //新建按鈕
panel2.add(button14);    //應(yīng)用按鈕
JButton button15=new JButton("=");    //新建按鈕
panel2.add(button15);    //應(yīng)用按鈕
JButton button16=new JButton("/");    //新建按鈕
panel2.add(button16);    //應(yīng)用按鈕

(4)最終結(jié)果

計(jì)算器界面

總結(jié)

以上就是關(guān)于 Java 圖形界面工具類 Swing 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器界面的全部?jī)?nèi)容,想要了解更多關(guān)于 Java Swing類的應(yīng)用,請(qǐng)關(guān)注W3Cschool!也希望大家能夠多多地支持我們!


0 人點(diǎn)贊