java實現(xiàn)簡易的計算器界面
如何用java寫一個簡易的計算器界面,供大家參考,具體內(nèi)容如下
前言(與本節(jié)重點無關(guān)可以忽視)
最近了解了一些界面窗口知識,在老師一步步的悉心教導(dǎo)下我卻又一次地走向了迷茫——陌生,理解不充分,照搬。咳咳,但是經(jīng)過幾天的拆解,琢磨,實踐,我也漸漸粗淺地認(rèn)識到了一些本質(zhì)問題。當(dāng)時教寫的是登錄界面,所以這次我打算寫一個計算器界面來檢測一下自己是不是依然一頭霧水。
基本準(zhǔn)備
首先給類取名CaculatorInterface(計算器界面)
package kallen1014; public class CalculatorInterface { }
第二步,想好需要引入的包,框架JFrame,按鍵JButton,輸入框JTextFiled,其尺寸Dimension,然后是排版FlowLayout,還有按鍵的顏色(實際上不要也罷,但在這里還是體現(xiàn)一下這個功能吧)
package kallen1014; import java.awt.FlowLayout; import java.awt.Dimension; import java.awt.Color; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.JButton; public class CalculatorInterface { }
調(diào)用主函數(shù)創(chuàng)建對象,并令其實現(xiàn)方法
public static void main(String[]args) { ?? ?CalculatorInterface ci=new CalculatorInterface(); ?? ?ci.init(); ?? ?}
在方法“init”中編些界面的主要內(nèi)容
創(chuàng)建框架,包括其格式,標(biāo)題,顯示位置等等
public void init() { ?? ??? ?JFrame jf=new JFrame(); ?? ??? ?jf.setTitle("計算器"); ?? ??? ?jf.setSize(500, 400); ?? ??? ?jf.setResizable(true);//因為不知道需要多大這里的大小設(shè)置為可調(diào)式 ?? ??? ?jf.setLocation(null);//程序彈出的位置設(shè)置在屏幕中間 ?? ??? ?jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//不設(shè)置這個程序?qū)o法關(guān)閉
設(shè)置布局規(guī)則
這一步很重要,決定了一下設(shè)置元素的排版,我們這里使用流式布局器讓所有元素按照順序排列,或許你會覺得下面的順序就要嚴(yán)格按照順序來了,其實不然,在最后會有一個添加元素的程序操作,那才是決定排版因素的程序
//設(shè)置布局規(guī)則 ?? ??? ?FlowLayout fl=new FlowLayout(); ?? ??? ?jf.setLayout(fl);
設(shè)置文本框(即輸入框)
//設(shè)置輸入框 JTextField inputbox=new JTextField(); ?//設(shè)置框架大小 ?Dimension dim=new Dimension(400,50);//這個大小設(shè)置也是暫定的 //這里設(shè)置的大小還未應(yīng)用到輸入框里,所以還要引入,用setPreferredSize來表示 ?inputbox.setPreferredSize(dim);
注意,每一個框架內(nèi)的元素最后都要用程序添加到框架中,否則將只存在一個框架,這一步將在最后進(jìn)行。
設(shè)置按鍵
由于計算器按鍵很多所以要在設(shè)置前先列出來
在這里暫且借用一下系統(tǒng)計算器的排版,由于是簡易版,我也只會取部分來編寫
//設(shè)置按鈕 ?? ??? ?JButton buttn1=new JButton(" % "); ?? ??? ?JButton buttn2=new JButton(" CE"); ?? ??? ?JButton buttn3=new JButton(" C "); ?? ??? ?JButton buttn4=new JButton(" ← "); ?? ??? ?JButton buttn5=new JButton(" 7 "); ?? ??? ?JButton buttn6=new JButton(" 8 "); ?? ??? ?JButton buttn7=new JButton(" 9 "); ?? ??? ?JButton buttn8=new JButton(" ÷ "); ?? ??? ?JButton buttn9=new JButton(" 4 "); ?? ??? ?JButton buttn10=new JButton(" 5 "); ?? ??? ?JButton buttn11=new JButton(" 6 "); ?? ??? ?JButton buttn12=new JButton(" × "); ?? ??? ?JButton buttn13=new JButton(" 1 "); ?? ??? ?JButton buttn14=new JButton(" 2 "); ?? ??? ?JButton buttn15=new JButton(" 3 "); ?? ??? ?JButton buttn16=new JButton(" - "); ?? ??? ?JButton buttn17=new JButton("幫助"); ?? ??? ?JButton buttn18=new JButton(" 0 "); ?? ??? ?JButton buttn19=new JButton(" ? "); ?? ??? ?JButton buttn20=new JButton(" = ");
給按鍵設(shè)置一個顏色
Color color=new Color(255,255,255);//表示白色 ?? ??? ?Color color2=new Color(177,183,214);//淡藍(lán)色 ?? ??? ?buttn1.setBackground(color); ?? ??? ?buttn2.setBackground(color); ?? ??? ?buttn3.setBackground(color); ?? ??? ?...
由于有20 個按鍵這里就不一一例舉了
將元素添加到框架中
在這一步當(dāng)中計算器的界面就基本實現(xiàn)了,剩下的只需要將元素加到框架中即可,注意,這里的添加順序決定了按鍵及框架的排版。
這里我們先試試整體效果,在這之后再添加監(jiān)聽器功能。
//將元素加到框架中 ?? ??? ?jf.add(inputbox); ?? ??? ?jf.add(buttn1); ?? ??? ?jf.add(buttn2); ?? ??? ?jf.add(buttn3); ?? ??? ?jf.add(buttn4); ?? ??? ?jf.add(buttn5); ?? ??? ?······
設(shè)置元素可顯示
jf.setVisible(true);//關(guān)鍵操作,沒有則不能顯示。?? ?
讓我們看看初步成果
顯然大小調(diào)試不當(dāng),那么我們來調(diào)一調(diào)大小
通過測試是257和294,然后我們再調(diào)整之前設(shè)定的大小,給定數(shù)值,固定大小即可
小結(jié)
做出來的這個計算器只是個界面,實際功能是無法使用的,下一次的文章中我將實現(xiàn)監(jiān)聽器功能,即點擊按鈕即可打入輸入框,以及點擊幫助后彈出第二個界面。那么這次的介紹就到這里,下次再見。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java Socket編程簡介_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了Java Socket編程簡介的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05java8中parallelStream性能測試及結(jié)果分析
本篇文章給大家用代碼實例做了segmentfaultjava8中parallelStream性能測試,并對測試結(jié)果做了說明,需要的朋友學(xué)習(xí)下吧。2018-01-01Spring擴(kuò)展BeanFactoryPostProcessor使用技巧詳解
這篇文章主要為大家介紹了Spring擴(kuò)展BeanFactoryPostProcessor使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09使用@ConfigurationProperties實現(xiàn)類型安全的配置過程
這篇文章主要介紹了使用@ConfigurationProperties實現(xiàn)類型安全的配置過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02Springboot中的@ConditionalOnBean注解詳細(xì)解讀
這篇文章主要介紹了Springboot中的@ConditionalOnBean注解詳細(xì)解讀,@ConditionalOnMissingBean注解兩個類,一個Computer類,一個配置類,想要完成;如果容器中沒有Computer類,就注入備用電腦Computer類,如果有Computer就不注入,需要的朋友可以參考下2023-11-11