📄 work1.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class work1 implements ActionListener{//创建类
Button btn1;/* 设置于定义各个按钮*/
Button btn2;
Button btn3;
Button btn4;
Button btn5;
Button btn6;
Button btn7;
Button btn8;
Button btn9;
Button btn10;
Button btn11;
Button btn12;
Button btn13;
Button btn14;
Button btn15;
Button btn16;
Button btn17;
TextField text;
int n=0;
public static void main(String args[])
{
JFrame f=new JFrame("计算器");/*设置图形界面*/
work1 a=new work1();/*创立一个新的的用户*/
JPanel pane=a.init();/*创立面板*/
f.getContentPane().add(pane);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(190,250);/*设置面板的尺寸大小*/
f.setResizable(false);
f.setVisible(true);
}
public JPanel init()
{
JPanel p=new JPanel(new GridBagLayout());/*面板的命名*/
GridBagConstraints c = new GridBagConstraints();/*创立网格布局及其名称*/
JPanel p1=new JPanel();
p1.setLayout(null);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 3;
c.gridy = 2;
p.add(p1,c);
btn1=new Button("1"); /*将1钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 0;
c.gridy = 4;
p.add(btn1,c);
btn2=new Button("2"); /*将2钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 1;
c.gridy = 4;
p.add(btn2,c);
btn3=new Button("3");/*将3钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 2;
c.gridy = 4;
p.add(btn3,c);
btn4=new Button("4"); /*将4钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 0;
c.gridy = 3;
p.add(btn4,c);
btn5=new Button("5"); /*将5钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 1;
c.gridy = 3;
p.add(btn5,c);
btn6=new Button("6");/*将6钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 2;
c.gridy = 3;
p.add(btn6,c);
btn7=new Button("7"); /*将7钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 0;
c.gridy = 2;
p.add(btn7,c);
btn8=new Button("8");/*将8钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 1;
c.gridy = 2;
p.add(btn8,c);
btn9=new Button("9"); /*将9钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 2;
c.gridy = 2;
p.add(btn9,c);
btn10=new Button("0"); /*将10钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=2;
c.gridx = 0;
c.gridy = 5;
p.add(btn10,c);
btn11=new Button("."); /*将.钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 2;
c.gridy = 5;
p.add(btn11,c);
btn12=new Button("C"); /*将C钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 0;
c.gridy = 1;
p.add(btn12,c);
btn12.setBackground(Color.pink);/*背景颜色的控制*/
btn13=new Button("/");/*将/钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 1;
c.gridy = 1;
p.add(btn13,c);
btn13.setBackground(Color.green);/*背景颜色的控制*/
btn14=new Button("*"); /*将*钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 2;
c.gridy = 1;
p.add(btn14,c);
btn14.setBackground(Color.green);/*背景颜色的控制*/
btn15=new Button("-"); /*将-钮加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=1;
c.gridx = 3;
c.gridy = 1;
p.add(btn15,c);
btn15.setBackground(Color.green);/*背景颜色的控制*/
btn16=new Button("+");/*将+钮加到创立的面板里*/
//c.fill = GridBagConstraints.HORIZONTAL;
//c.gridwidth=2;
//c.gridx = 3;
//c.gridy = 2;
//p.add(btn16,c);
btn16.setBounds(0,-10,20,45);
p1.add(btn16);
btn16.setBackground(Color.green);
btn17=new Button("="); /*将=钮加到创立的面板里*/
//c.fill = GridBagConstraints.HORIZONTAL;
//c.gridwidth=2;
//c.gridx = 3;
//c.gridy = 4;
//p.add(btn17,c);
btn17.setBounds(0,35,20,46);/*自定义布局控制按钮的长度与大小*/
p1.add(btn17);
btn17.setBackground(Color.green);/*背景颜色的控制*/
text=new TextField(""); /*将text加到创立的面板里*/
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth=4;
c.gridx = 0;
c.gridy = 0;
p.add(text,c);
btn1.addActionListener(this);/*对btn1按钮进行监听*/
btn2.addActionListener(this);/*对btn2按钮进行监听*/
btn3.addActionListener(this);/*对btn3按钮进行监听*/
btn4.addActionListener(this);/*对btn4按钮进行监听*/
btn5.addActionListener(this);/*对btn5按钮进行监听*/
btn6.addActionListener(this);/*对btn6按钮进行监听*/
btn7.addActionListener(this);/*对btn7按钮进行监听*/
btn8.addActionListener(this);/*对btn8按钮进行监听*/
btn9.addActionListener(this);/*对btn9按钮进行监听*/
btn10.addActionListener(this);/*对btn10按钮进行监听*/
btn11.addActionListener(this);/*对btn11按钮进行监听*/
btn12.addActionListener(this);/*对btn12按钮进行监听*/
btn13.addActionListener(this);/*对btn13按钮进行监听*/
btn14.addActionListener(this);/*对btn14按钮进行监听*/
btn15.addActionListener(this);/*对btn15按钮进行监听*/
btn16.addActionListener(this);/*对btn16按钮进行监听*/
btn17.addActionListener(this);/*对btn17按钮进行监听*/
return p;
}
public void actionPerformed(ActionEvent e)
{
String str="",str1="",str2,str3;
double a;
if(e.getSource()==btn1)/*按钮功能的调用*/
str1=btn1.getLabel();
if(e.getSource()==btn2)/*按钮功能的调用*/
str1=btn2.getLabel();
if(e.getSource()==btn3)/*按钮功能的调用*/
str1=btn3.getLabel();
if(e.getSource()==btn4)/*按钮功能的调用*/
str1=btn4.getLabel();
if(e.getSource()==btn5)/*按钮功能的调用*/
str1=btn5.getLabel();
if(e.getSource()==btn6)/*按钮功能的调用*/
str1=btn6.getLabel();
if(e.getSource()==btn7)/*按钮功能的调用*/
str1=btn7.getLabel();
if(e.getSource()==btn8)/*按钮功能的调用*/
str1=btn8.getLabel();
if(e.getSource()==btn9)/*按钮功能的调用*/
str1=btn9.getLabel();
if(e.getSource()==btn10)/*按钮功能的调用*/
str1=btn10.getLabel();
if(e.getSource()==btn11)/*按钮功能的调用*/
str1=btn11.getLabel();
text.setText(text.getText()+str1);//显示所输入的数值
str=text.getText();
if(e.getSource()==btn12)//点击按钮“c”后清空文本域
text.setText("");
if(e.getSource()==btn13)
{ text.setText(text.getText()+btn13.getLabel());//点击功能按钮后在文本域中显示对应的公式
n=1;
}
if(e.getSource()==btn14)
{ text.setText(text.getText()+btn14.getLabel());//点击功能按钮后在文本域中显示对应的公式
n=2;
}
if(e.getSource()==btn15)
{text.setText(text.getText()+btn15.getLabel());//点击功能按钮后在文本域中显示对应的公式
n=3;
}
if(e.getSource()==btn16)
{text.setText(text.getText()+btn16.getLabel());//点击功能按钮后在文本域中显示对应的公式
n=4;
}
if(e.getSource()==btn17)//点击按钮“=”后得出文本域中公式的最终结果
{switch(n)//进行选择性调用,分别实现+,-,×,/的功能
{case 4 :str2=str.substring(0, str.indexOf("+"));//实现加法的功能
str3=str.substring(str.indexOf("+")+1, str.length());
a=Double.parseDouble(str2)+Double.parseDouble(str3);
text.setText(String.valueOf(a));//在文件框中显示
case 3 :str2=str.substring(0, str.indexOf("-"));//实现减法的功能
str3=str.substring(str.indexOf("-")+1, str.length());
a=Double.parseDouble(str2)-Double.parseDouble(str3);
text.setText(String.valueOf(a));//在文件框中显示
case 2 :str2=str.substring(0, str.indexOf("*"));//实现乘法的功能
str3=str.substring(str.indexOf("*")+1, str.length());
a=Double.parseDouble(str2)*Double.parseDouble(str3);
text.setText(String.valueOf(a));//在文件框中显示
case 1 :str2=str.substring(0, str.indexOf("/"));//实现除法的功能
str3=str.substring(str.indexOf("/")+1, str.length());
a=Double.parseDouble(str2)/Double.parseDouble(str3);
text.setText(String.valueOf(a));//在文件框中显示
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -