📄 i.java
字号:
package untitled2;
import java.awt.*;
import java.awt.event.*;
public class I
extends Frame
implements ActionListener {
/*字段成员定义 */
//初始化 Panel
Panel p0 = new Panel(new GridLayout(6, 1, 5, 5)),
p1 = new Panel(new FlowLayout()),
p2 = new Panel(new GridLayout(1, 4, 5, 5)),
p3 = new Panel(new GridLayout(1, 5, 5, 5)),
p4 = new Panel(new GridLayout(1, 5, 5, 5)),
p5 = new Panel(new GridLayout(1, 5, 5, 5)),
p6 = new Panel(new GridLayout(1, 5, 5, 5));
TextField t = new TextField(18);//结果显示框
//设置标签
Label label = new Label("结果");
Font buttonfont = new Font("黑体", Font.BOLD,14);//按钮字体
Font labelfont = new Font("宋体", Font.PLAIN, 16);//标签字体
MenuBar mb = new MenuBar();//设置菜单条
//设置菜单
Menu menu1 = new Menu("Edit(E)");
Menu menu2 = new Menu("Search(V)");
Menu menu3 = new Menu("Help(H)");
//设置普通菜单项
MenuItem menuitem1 = new MenuItem("Copy(C)");
MenuItem menuitem2 = new MenuItem("Paste(P)");
CheckboxMenuItem menuitem3 = new CheckboxMenuItem("标准型(T)");//设置可选择单项
MenuItem menuitem4 = new MenuItem("科学型(S)");
MenuItem menuitem5 = new MenuItem("数学分组(I)");
MenuItem menuitem6 = new MenuItem("Topic(T)");
MenuItem menuitem7 = new MenuItem("About(A)");
String s, s1, s2, z, w = "";//用户的输入
//设置按钮
Button b[] = new Button[24];
//设置按钮名
String buttontext[] = {
"", "Backspack", "CE", "C", "7", "8", "9", "/", "sqrt", "4", "5", "6",
"*", "%", "1", "2", "3", "-", "sin", "0", "cos", ".", "+", "="
};
public void jbInit() {
//设置窗口标题
this.setTitle("计算器");
//初始化按钮
for (int i = 0; i < 24; i++) {
b[i] = new Button(buttontext[i]);
b[i].addActionListener(this);
}
this.setMenuBar(mb);
menuitem1.setShortcut(new MenuShortcut(67));//setShortcut public void setShortcut(MenuShortcut s)设置与此菜单项关联的 MenuShortcut 对象。如果某一菜单快捷方式已经与此菜单项关联,则取代它参数:s - 与此菜单项关联的菜单快捷方式。
menuitem1.setActionCommand("Copy(C)");//就是给一个JButton设置一个属性的字符串值,然后通过在actionPerformed(ActionEvent e)方法里通过if(e.getActioncommand.equals("改变"))判断哪个按钮发生了事件当然也可以直接e.getActioncommand.equals("改变图形")来进行判断但是当你有两个按钮或者多个按钮的属性名称相同时,就需要给每个按钮另外设置一个属性的字符串的值来进行判断你究竟选择的是哪个按钮。就要用到setActioncommand();这个方法.
menuitem1.setLabel("Copy(C)");
menuitem2.setShortcut(new MenuShortcut(86));
menuitem2.setActionCommand("Paste(P)");
mb.add(menu1);
menu1.add(menuitem1);
menu1.add(menuitem2);
mb.add(menu2);
menu2.add(menuitem3);
menu2.add(menuitem4);
menu2.addSeparator();
menu2.add(menuitem5);
mb.add(menu3);
menu3.add(menuitem6);
menu3.addSeparator();
menu3.add(menuitem7);
menuitem1.addActionListener(this);
menuitem2.addActionListener(this);
//加入p0到Frame
this.add(p0, BorderLayout.CENTER);
p0.add(p1);
p1.add(t);
t.setSize(330, 320);
t.setForeground(Color.red);
p1.add(label);
label.setForeground(Color.red);
p0.add(p2);
p2.add(b[0]);
p2.add(b[1]);
b[1].setFont(buttonfont);
b[1].setForeground(Color.red);
p2.add(b[2]);
b[2].setFont(buttonfont);
b[2].setForeground(Color.red);
p2.add(b[3]);
b[3].setFont(buttonfont);
b[3].setForeground(Color.red);
p0.add(p3);
p3.add(b[4]);
b[4].setFont(buttonfont);
b[4].setForeground(Color.blue);
p3.add(b[5]);
b[5].setFont(buttonfont);
b[5].setForeground(Color.blue);
p3.add(b[6]);
b[6].setFont(buttonfont);
b[6].setForeground(Color.blue);
p3.add(b[7]);
b[7].setFont(buttonfont);
b[7].setForeground(Color.red);
p3.add(b[8]);
b[8].setFont(buttonfont);
b[8].setForeground(Color.blue);
p0.add(p4);
p4.add(b[9]);
b[9].setFont(buttonfont);
b[9].setForeground(Color.blue);
p4.add(b[10]);
b[10].setFont(buttonfont);
b[10].setForeground(Color.blue);
p4.add(b[11]);
b[11].setFont(buttonfont);
b[11].setForeground(Color.blue);
p4.add(b[12]);
b[12].setFont(buttonfont);
b[12].setForeground(Color.red);
p4.add(b[13]);
b[13].setFont(buttonfont);
b[13].setForeground(Color.red);
p0.add(p5);
p5.add(b[14]);
b[14].setFont(buttonfont);
b[14].setForeground(Color.blue);
p5.add(b[15]);
b[15].setFont(buttonfont);
b[15].setForeground(Color.blue);
p5.add(b[16]);
b[16].setFont(buttonfont);
b[16].setForeground(Color.blue);
p5.add(b[17]);
b[17].setFont(buttonfont);
b[17].setForeground(Color.red);
p5.add(b[18]);
b[18].setFont(buttonfont);
b[18].setForeground(Color.blue);
p0.add(p6);
p6.add(b[19]);
b[19].setFont(buttonfont);
b[19].setForeground(Color.blue);
p6.add(b[20]);
b[20].setFont(buttonfont);
b[20].setForeground(Color.blue);
p6.add(b[21]);
b[21].setFont(buttonfont);
b[21].setForeground(Color.blue);
p6.add(b[22]);
b[22].setFont(buttonfont);
b[22].setForeground(Color.red);
p6.add(b[23]);
b[23].setFont(buttonfont);
b[23].setForeground(Color.red);
//添加窗口事件监听器
this.addWindowListener(new WindowAdapter() {
//关闭窗口事件
public void windowClosing(WindowEvent e) {
//退出应用程序
System.exit(0);
}
});
}
//处理按钮按下时的动作,进行相应的处理
public void actionPerformed(ActionEvent e) {
//复制
if (e.getSource() == menuitem1) {
w = t.getText();
}
//粘贴
if (e.getSource() == menuitem2) {
t.setText(w);
}
if (e.getSource() == b[0]) {
t.setText(t.getText() + "I LIKE JAVA !");
}
else if (e.getSource() == b[1]) {
t.setText(t.getText() + "Backspack");
}
else if (e.getSource() == b[2]) {
t.setText(t.getText() + "CE");
}
else if (e.getSource() == b[3]) {
t.setText("");//记录输入值的变量清空
}
else if (e.getSource() == b[4]) {
t.setText(t.getText() + "7");//输入为"7"
}
else if (e.getSource() == b[5]) {
t.setText(t.getText() + "8");//输入为"8"
}
else if (e.getSource() == b[6]) {
t.setText(t.getText() + "9");//输入为"9"
}
else if (e.getSource() == b[7]) {
s1 = t.getText();
t.setText("");
s = "/";
}
else if (e.getSource() == b[8]) {
z = t.getText();
double d = Double.parseDouble(s1);
t.setText("" + Math.sqrt(d));
}
else if (e.getSource() == b[9]) {
t.setText(t.getText() + "4");//输入为"4"
}
else if (e.getSource() == b[10]) {
t.setText(t.getText() + "5");//输入为"5"
}
else if (e.getSource() == b[11]) {
t.setText(t.getText() + "6");//输入为"6"
}
else if (e.getSource() == b[12]) {
s1 = t.getText();
t.setText("");
s = "*";
}
else if (e.getSource() == b[13]) {
s1 = t.getText();
t.setText("");
s = "%";
}
else if (e.getSource() == b[14]) {
t.setText(t.getText() + "1");//输入为"1"
}
else if (e.getSource() == b[15]) {
t.setText(t.getText() + "2");//输入为"2"
}
else if (e.getSource() == b[16]) {
t.setText(t.getText() + "3");//输入为"3"
}
else if (e.getSource() == b[17]) {
s1 = t.getText();
t.setText("");
s = "-";
}
else if (e.getSource() == b[18]) {
z = t.getText();
double d = Double.parseDouble(s1);
d *= Math.PI / 180;
t.setText("" + Math.sin(d));
}
else if (e.getSource() == b[19]) {
t.setText(t.getText() + "0");//输入为"0"
}
else if (e.getSource() == b[20]) {
z = t.getText();//得文本
double d = Double.parseDouble(s1);//将字符强制转换为浮点数
d *= Math.PI / 180;//将数转换为弧度
t.setText("" + Math.cos(d));//设置文本
}
else if (e.getSource() == b[21]) {
t.setText(t.getText() + ".");//输入为"。"
}
else if (e.getSource() == b[22]) {
s1 = t.getText();//得文本
t.setText("");//设置文本
s = "+";//添加"+"
}
else if (e.getSource() == b[23]) {
s2 = t.getText();//得文本
double p1 = Double.parseDouble(s1);//将字符强制转换为浮点数
double p2 = Double.parseDouble(s2);//将字符强制转换为浮点数
double p3 = 0;
if (s == "/") {
p3 = p1 / p2;
}
if (s == "+") {
p3 = p1 + p2;
}
if (s == "*") {
p3 = p1 * p2;
}
if (s == "-") {
p3 = p1 - p2;
}
if (s == "%") {
p3 = p1 % p2;
}
t.setText("" + p3);
}
else if (e.getSource() == b[16]) {
t.setText("");
}
pack();//调整大小
}
I() {
jbInit();
}
public static void main(String[] args) {
I m = new I();
m.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -