java swing實現(xiàn)簡單計算器界面
本文實例為大家分享了java swing實現(xiàn)簡單計算器界面的具體代碼,供大家參考,具體內(nèi)容如下
已經(jīng)學習了一部分的swing知識,現(xiàn)在綜合運用里面的部分知識來實現(xiàn)一個計算器的界面。
運用到的知識:
1.常用頂層容器 JFrame類 的使用
2.常用中間容器 JPanel類 的使用
3.單行文本框的實現(xiàn)類 JTextField類 的使用
4.按鈕的實現(xiàn)類 JButton類 的使用
5.邊框布局管理器 的使用
6.網(wǎng)格布局管理器 的使用
基本思路:
1.創(chuàng)建1個窗口f1
2.創(chuàng)建1個文本框t1
3.創(chuàng)建內(nèi)層面板p3,保存文本框t1
4.創(chuàng)建16個按鈕
5.創(chuàng)建內(nèi)層面板p2,設置為網(wǎng)格布局,用于保存16個按鈕
6.創(chuàng)建外層面板p1,設置為邊框布局,北部保存p3,中部保存p2
下面是是具體的代碼實現(xiàn),可以直接運行
import javax.swing.JFrame; ? //頂層容器 (框架) import javax.swing.JPanel; //中間容器 (嵌板)最常用的面板 import javax.swing.JTextField; //單行文本框的實現(xiàn)類 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("計算器"); ?//創(chuàng)建頂層容器(窗口) ?? ??? ?f1.setSize(250, 300); ? ? ? ?//設置窗口大小 ?? ??? ?JPanel p1 = new JPanel(new BorderLayout(5,5)); //創(chuàng)建一個面板 ?? ??? ?//里面的new BorderLayout(5,5)是設置面板的布局(邊框布局) ?? ??? ?//其中(5,5)的第1個5表示上下控件間距,第2個表示左右控件間距 ?? ??? ? ?? ??? ?p1.setBorder(new EmptyBorder(5,5,5,5)); ? //設置邊界距離 ?border 邊界 ?? ??? ?//面板的setBorder函數(shù),用于設置面板邊緣向內(nèi)收縮寬度 ? ? ? ? //里面的EmtyBorder(5,5,5,5)表示面板上,左,下,右各向內(nèi)收縮 5個像素 ? ? ? ?? ? ? ? ? JTextField t1 = new JTextField(); //創(chuàng)建一個單行文本框 ?? ??? ?t1.setColumns(10); ?//這個用于設置文本框的列數(shù) ?Columns 列 ?? ??? ?t1.setHorizontalAlignment(SwingConstants.RIGHT); //設置文本框右對齊 ? ?? ?? ??? ?//Horizontal 水平的?? ??? ?Alignment 對齊 ?記兩個單詞 ?? ??? ? ?? ??? ?JPanel p2 = new JPanel(new GridLayout(4,4,5,5));//創(chuàng)建第二個面板 ?? ??? ?//其中設置其布局為網(wǎng)格布局,(第一個4表示1行4個控件) ?? ??? ?//第2個4表示1列4個控件,第1個5表示上下控件間隔為5,第2個5表示左右控件間隔為5(像素) ?? ??? ?JButton b1 = new JButton("7"); ? ?//創(chuàng)建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個按鈕全部添加到網(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)建第三個面板,用于保存之前的文本框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); ? //設置可見 ?? ?} }
運行結果:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解Spring Data JPA系列之投影(Projection)的用法
本篇文章主要介紹了詳解Spring Data JPA系列之投影(Projection)的用法,具有一定的參考價值,有興趣的可以了解一下2017-07-07(starters)springboot-starter整合阿里云datahub方式
這篇文章主要介紹了(starters)springboot-starter整合阿里云datahub方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11SpringBoot集成Zipkin實現(xiàn)分布式全鏈路監(jiān)控
這篇文章主要介紹了SpringBoot集成Zipkin實現(xiàn)分布式全鏈路監(jiān)控的方法啊,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09