Java實(shí)現(xiàn)Windows計算器界面
前一段時間在學(xué)校簡單的學(xué)習(xí)了Java,對Java這門我第一次接觸的面向?qū)ο笳Z言有了一定的了解。
一直沒時間整理寫的東西,今天打算整理下上傳下。
Java相對于C來說比較方便的就是用來寫界面(PS:但其實(shí)Java寫的界面也是十分的“有年代感”)
之前學(xué)到寫界面時的練手程序就是這個計算器界面
程序其實(shí)比較簡單,主要就是練習(xí)界面的排布等
界面:

代碼:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class CalTest extends JFrame
{
//相關(guān)的二級容器和控件聲明一下
JTextField showtext;//文本框
JButton bt1;
JButton bt2;
JButton bt3;
JButton bt4;//四個獨(dú)立的按鈕
JPanel panel1;//面板1(25個按鈕)
JPanel panel2;//面板2(20個按鈕)
JPanel panel3;//面板3(4個按鈕)
JPanel panel4;//三個單選框
JButton[] bts1;//左邊25個按鈕的數(shù)組
JButton[] bts2;//右邊20個按鈕的數(shù)組
JButton[] bts3;//4個按鈕的數(shù)組
JRadioButton[] bts4;//3個單選
public CalTest()
{
init();
}
//初始化窗體及控件的方法
private void init()
{
this.setSize(760,370);
this.setLayout(null);
this.setVisible(true);
showtext=new JTextField();
showtext.setLocation(10, 10);
showtext.setSize(720, 50);
this.add(showtext);
panel1=new JPanel();
panel1.setSize(360, 190);
panel1.setLocation(10, 110);
panel1.setLayout(new GridLayout(5,5,3,3));//設(shè)置面板1 網(wǎng)格布局,4行1列
bts1=new JButton[25];
String[] strs1={" ","Inv","In","(",")","Int","sinh","sin","x^2","n!","dms","cosh","cos","x^y","y√x","派","tanh","tan","x^3","3√x","F-E","Exp","Mod","log","10^x"};
for(int i=0;i<strs1.length;i++)
{
bts1[i]=new JButton(strs1[i]);
panel1.add(bts1[i]);
}
this.add(panel1);
panel2=new JPanel();
panel2.setSize(260, 190);
panel2.setLocation(400, 70);
panel2.setLayout(new GridLayout(5,4,3,3));//設(shè)置面板2 網(wǎng)格布局,5行4列
bts2=new JButton[20];
String[] strs2={"MC","MR","MS","M+","←","CE","C","+/","7","8","9","/","4","5","6","*","1","2","3","-"};
for(int i=0;i<strs2.length;i++)
{
bts2[i]=new JButton(strs2[i]);
panel2.add(bts2[i]);
}
this.add(panel2);
panel3=new JPanel();
panel3.setSize(55, 150);
panel3.setLocation(675, 70);
panel3.setLayout(new GridLayout(4,1,3,3));//設(shè)置面板3 網(wǎng)格布局,4行1列
bts3=new JButton[4];
String[] strs3={"M-","√","%","1/x"};
for(int i=0;i<strs3.length;i++)
{
bts3[i]=new JButton(strs3[i]);
panel3.add(bts3[i]);
}
this.add(panel3);
panel4=new JPanel();
panel4.setSize(50, 50);
panel4.setLocation(20, 80);
panel4.setLayout(new GridLayout(1,3,3,3));//設(shè)置面板3 網(wǎng)格布局,4行1列
bts4=new JRadioButton[3];
String[] strs4={"度","弧度","梯度"};
for(int i=0;i<strs4.length;i++)
{
bts4[i]=(JRadioButton) new JRadioButton(strs4[i]);
panel4.add(bts4[i]);
}
this.add(panel4);
bt1=new JButton("0");
bt1.setSize(127, 35);
bt1.setLocation(400,263);
this.add(bt1);
bt2=new JButton(".");
bt2.setSize(62, 35);
bt2.setLocation(530,263);
this.add(bt2);
bt3=new JButton("+");
bt3.setSize(62, 35);
bt3.setLocation(595,263);
this.add(bt3);
bt4=new JButton("=");
bt4.setSize(55, 75);
bt4.setLocation(675,223);
this.add(bt4);
}
}
public class Test {
public static void main(String[] args) {
CalTest cal=new CalTest();
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis plus動態(tài)數(shù)據(jù)源切換及查詢過程淺析
這篇文章主要介紹了mybatis plus動態(tài)數(shù)據(jù)源切換及查詢過程淺析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Java中使用HttpPost發(fā)送form格式的請求實(shí)現(xiàn)代碼
在Java中使用HttpPost發(fā)送form格式的請求,可以使用Apache HttpClient庫來實(shí)現(xiàn),這篇文章主要介紹了Java中使用HttpPost發(fā)送form格式的請求,本文給大家展示示例代碼,需要的朋友可以參考下2023-08-08
Spring boot中filter類不能注入@Autowired變量問題
這篇文章主要介紹了Spring boot中filter類不能注入@Autowired變量問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringBoot整合log4j日志與HashMap的底層原理解析
這篇文章主要介紹了SpringBoot整合log4j日志與HashMap的底層原理,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
java虛擬機(jī)JVM類加載機(jī)制原理(面試必問)
這篇文章主要介紹了面試當(dāng)中必會問到的java虛擬機(jī)JVM類加載機(jī)制,非常的詳細(xì),有需要的朋友可以借鑒參考下,歡迎多多交流討論2021-08-08

