溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java?swing怎么實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面

發(fā)布時(shí)間:2022-04-27 12:17:17 來(lái)源:億速云 閱讀:244 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“java swing怎么實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面”,在日常操作中,相信很多人在java swing怎么實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”java swing怎么實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

運(yùn)用到的知識(shí):

1.常用頂層容器 JFrame類 的使用
2.常用中間容器 JPanel類 的使用
3.單行文本框的實(shí)現(xiàn)類 JTextField類 的使用
4.按鈕的實(shí)現(xiàn)類 JButton類 的使用
5.邊框布局管理器 的使用
6.網(wǎng)格布局管理器 的使用

基本思路:

1.創(chuàng)建1個(gè)窗口f1
2.創(chuàng)建1個(gè)文本框t1
3.創(chuàng)建內(nèi)層面板p3,保存文本框t1
4.創(chuàng)建16個(gè)按鈕
5.創(chuàng)建內(nèi)層面板p2,設(shè)置為網(wǎng)格布局,用于保存16個(gè)按鈕
6.創(chuàng)建外層面板p1,設(shè)置為邊框布局,北部保存p3,中部保存p2

下面是是具體的代碼實(shí)現(xiàn),可以直接運(yùn)行

import javax.swing.JFrame;   //頂層容器 (框架)
import javax.swing.JPanel; //中間容器 (嵌板)最常用的面板
import javax.swing.JTextField; //單行文本框的實(shí)現(xiàn)類
import javax.swing.JButton;  //按鈕
import javax.swing.border.EmptyBorder; 
//需要用EmptyBorder類來(lái)設(shè)置面板的邊框?qū)傩?
import javax.swing.SwingConstants; 
//SwingConstants是一個(gè)通常用于在屏幕上定位(位置)或定向(方向)組件的常量的集合
import java.awt.*; //布局管理器的類在這里面

public class calculator
{
    public static void main(String[] args) 
    {
        JFrame f1 = new JFrame("計(jì)算器");  //創(chuàng)建頂層容器(窗口)
        f1.setSize(250, 300);        //設(shè)置窗口大小

        JPanel p1 = new JPanel(new BorderLayout(5,5)); //創(chuàng)建一個(gè)面板
        //里面的new BorderLayout(5,5)是設(shè)置面板的布局(邊框布局)
        //其中(5,5)的第1個(gè)5表示上下控件間距,第2個(gè)表示左右控件間距
        
        p1.setBorder(new EmptyBorder(5,5,5,5));   //設(shè)置邊界距離  border 邊界
        //面板的setBorder函數(shù),用于設(shè)置面板邊緣向內(nèi)收縮寬度
        //里面的EmtyBorder(5,5,5,5)表示面板上,左,下,右各向內(nèi)收縮 5個(gè)像素
        
        JTextField t1 = new JTextField(); //創(chuàng)建一個(gè)單行文本框
        t1.setColumns(10);  //這個(gè)用于設(shè)置文本框的列數(shù)  Columns 列
        t1.setHorizontalAlignment(SwingConstants.RIGHT); //設(shè)置文本框右對(duì)齊     
        //Horizontal 水平的        Alignment 對(duì)齊  記兩個(gè)單詞
        
        JPanel p2 = new JPanel(new GridLayout(4,4,5,5));//創(chuàng)建第二個(gè)面板
        //其中設(shè)置其布局為網(wǎng)格布局,(第一個(gè)4表示1行4個(gè)控件)
        //第2個(gè)4表示1列4個(gè)控件,第1個(gè)5表示上下控件間隔為5,第2個(gè)5表示左右控件間隔為5(像素)

        JButton b1 = new JButton("7");    //創(chuàng)建16個(gè)按鈕
        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個(gè)按鈕全部添加到網(wǎng)格布局的面板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();   //創(chuàng)建第三個(gè)面板,用于保存之前的文本框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);//設(shè)置關(guān)閉時(shí)操作
        f1.setVisible(true);   //設(shè)置可見
    }
}

運(yùn)行結(jié)果:

java?swing怎么實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面

到此,關(guān)于“java swing怎么實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI