亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2022年04月26日 12:18:50   作者:哥兜兜里有泡泡糖  
這篇文章主要為大家詳細(xì)介紹了java swing實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java swing實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面的具體代碼,供大家參考,具體內(nèi)容如下

已經(jīng)學(xué)習(xí)了一部分的swing知識(shí),現(xiàn)在綜合運(yùn)用里面的部分知識(shí)來(lái)實(shí)現(xiàn)一個(gè)計(jì)算器的界面。

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

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

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è)置可見(jiàn)
?? ?}
}

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • (starters)springboot-starter整合阿里云datahub方式

    (starters)springboot-starter整合阿里云datahub方式

    這篇文章主要介紹了(starters)springboot-starter整合阿里云datahub方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • SpringBoot集成Zipkin實(shí)現(xiàn)分布式全鏈路監(jiān)控

    SpringBoot集成Zipkin實(shí)現(xiàn)分布式全鏈路監(jiān)控

    這篇文章主要介紹了SpringBoot集成Zipkin實(shí)現(xiàn)分布式全鏈路監(jiān)控的方法啊,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Log4j新手快速入門(mén)教程

    Log4j新手快速入門(mén)教程

    這篇文章主要給大家介紹了關(guān)于Log4j新手入門(mén)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Log4j具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Spring Boot集成redis,key自定義生成方式

    Spring Boot集成redis,key自定義生成方式

    這篇文章主要介紹了Spring Boot集成redis,key自定義生成方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 最新評(píng)論