本篇文章將結(jié)合 Java 圖形界面工具 Swing 類中的容器、布局管理器以及部分常用的基本組件,綜合運(yùn)用這些知識(shí),實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器界面。本文以供大家參考,希望能對(duì)大家的學(xué)習(xí)有所幫助。
計(jì)算器在以前相當(dāng)于就是一門(mén)神器,可惜目前隨著計(jì)算機(jī)的強(qiáng)大,計(jì)算器也逐漸地沒(méi)落了,開(kāi)始漸漸地并入了計(jì)算機(jī)當(dāng)中。大家熟知的計(jì)算器界面大多是分為兩個(gè)界面,即顯示區(qū)和鍵盤(pán)區(qū)。顯示區(qū)可以用一個(gè)文本框組件,鍵盤(pán)區(qū)需要用很多的按鈕,用網(wǎng)格布局管理器完成。
(1)新建一個(gè)繼承自 JFrame 的 CalculatorDemo類,為這個(gè)類添加構(gòu)造方法以及 main 方法。
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
public class CalculatorDemo extends JFrame
{
private JPanel contentPane; //內(nèi)容面板
private JTextField textField; //文本框
public CalculatorDemo(){}; //構(gòu)造方法
public static void main(String[] args)
{
CalculatorDemo frame=new CalculatorDemo();
frame.setVisible(true);
}
}
(2)在構(gòu)造方法內(nèi),設(shè)置窗口的內(nèi)容,并完成計(jì)算機(jī)的主體部分。向邊界的北部添加一個(gè) JTextField 組件,實(shí)現(xiàn)顯示區(qū)在上面。
public CalculatorDemo()
{
setTitle("計(jì)算器"); //設(shè)置窗體的標(biāo)題
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設(shè)置窗體退出時(shí)操作
setBounds(100, 100, 250, 200); //設(shè)置窗體位置和大小
contentPane=new JPanel(); //創(chuàng)建內(nèi)容面板
contentPane.setBorder(new EmptyBorder(5,5,5,5)); //設(shè)置面板的邊框
contentPane.setLayout(new BorderLayout(0,0)); //設(shè)置內(nèi)容面板為邊界布局
setContentPane(contentPane); //應(yīng)用內(nèi)容面板
JPanel panel1=new JPanel(); //新建面板用于保存文本框
contentPane.add(panel1,BorderLayout.NORTH); //將面板放置在邊界布局的北部
textField=new JTextField(); //新建文本框
textField.setHorizontalAlignment(SwingConstants.RIGHT); //文本框中的文本使用右對(duì)齊
panel1.add(textField); //將文本框增加到面板中
textField.setColumns(18); //設(shè)置文本框的列數(shù)是18
}
(3)將內(nèi)容區(qū)部分以邊框中部進(jìn)行填充,設(shè)置 panel2 的布局管理器為網(wǎng)格布局管理。
JPanel panel2=new JPanel(); //新建面板用于保存按鈕
contentPane.add(panel2, BorderLayout.CENTER); //將面板放置在邊界布局的中央
panel2.setLayout(new GridLayout(4,4,5,5)); //面板使用網(wǎng)格4X4布局
JButton button01=new JButton("7"); //新建按鈕
panel2.add(button01); //應(yīng)用按鈕
JButton button02=new JButton("8"); //新建按鈕
panel2.add(button02); //應(yīng)用按鈕
JButton button03=new JButton("9"); //新建按鈕
panel2.add(button03); //應(yīng)用按鈕
JButton button04=new JButton("+"); //新建按鈕
panel2.add(button04); //應(yīng)用按鈕
JButton button05=new JButton("4"); //新建按鈕
panel2.add(button05); //應(yīng)用按鈕
JButton button06=new JButton("5"); //新建按鈕
panel2.add(button06); //應(yīng)用按鈕
JButton button07=new JButton("6"); //新建按鈕
panel2.add(button07); //應(yīng)用按鈕
JButton button08=new JButton("-"); //新建按鈕
panel2.add(button08); //應(yīng)用按鈕
JButton button09=new JButton("3"); //新建按鈕
panel2.add(button09); //應(yīng)用按鈕
JButton button10=new JButton("2"); //新建按鈕
panel2.add(button10); //應(yīng)用按鈕
JButton button11=new JButton("1"); //新建按鈕
panel2.add(button11); //應(yīng)用按鈕
JButton button12=new JButton("*"); //新建按鈕
panel2.add(button12); //應(yīng)用按鈕
JButton button13=new JButton("0"); //新建按鈕
panel2.add(button13); //應(yīng)用按鈕
JButton button14=new JButton("."); //新建按鈕
panel2.add(button14); //應(yīng)用按鈕
JButton button15=new JButton("="); //新建按鈕
panel2.add(button15); //應(yīng)用按鈕
JButton button16=new JButton("/"); //新建按鈕
panel2.add(button16); //應(yīng)用按鈕
(4)最終結(jié)果
總結(jié)
以上就是關(guān)于 Java 圖形界面工具類 Swing 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器界面的全部?jī)?nèi)容,想要了解更多關(guān)于 Java Swing類的應(yīng)用,請(qǐng)關(guān)注W3Cschool!也希望大家能夠多多地支持我們!