📄 calculator.java
字号:
paneld.add(bsqrt);
paneld.add(bpf);
paneld.add(bds);
paneld.add(bf);
return paneld;
}
private JPanel getPanelb()
{ /*数字按钮1*/
b1=new JButton("1");
b1.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("1");
}
}
);
//Number_key.1.addActionListener(this);
/*数字按钮2*/
b2=new JButton("2");
b2.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("2");
}
}
);
/*数字按钮3*/
b3=new JButton("3");
b3.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("3");
}
}
);
/*数字按钮4*/
b4=new JButton("4");
b4.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("4");
}
}
);
/*数字按钮5*/
b5=new JButton("5");
b5.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("5");
}
}
);
/*数字按钮6*/
b6=new JButton("6");
b6.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("6");
}
}
);
/*数字按钮7*/
b7=new JButton("7");
b7.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("7");
}
}
);
/*数字按钮8*/
b8=new JButton("8");
b8.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("8");
}
}
);
/*数字按钮9*/
b9=new JButton("9");
b9.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("9");
}
}
);
/*数字按钮0*/
b0=new JButton("0");
b0.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{addNumber("0");
}
}
);
/*小数点*/
bd=new JButton(".");
bd.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{if (isDOT==false)
{if (show!=null&&!text.getText().equals("0")) addNumber(".");
else addNumber("0.");
isDOT=true;
}
}
}
);
/*等于号*/
bdy=new JButton("=");
bdy.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{deng=true;
if (CMD==null&&isCMD==false&&error==false)
{if (show==null) text.setText("0");
else text.setText(show);
}
if (CMD!=null) {mathProgressB(CMD);}
}
}
);
/*包含数字键,等于,小数点的容器*/
panelb=new JPanel();
panelb.setLayout(new GridLayout(4,3,4,4));
panelb.add(b1);
panelb.add(b2);
panelb.add(b3);
panelb.add(b4);
panelb.add(b5);
panelb.add(b6);
panelb.add(b7);
panelb.add(b8);
panelb.add(b9);
panelb.add(bd);
panelb.add(b0);
panelb.add(bdy);
return panelb;
}
private JPanel getPanelc()
{/*包含四则运算符号的容器*/
panelc=new JPanel();
panelc.setLayout(new GridLayout(4,1,4,4));
/*加号*/
bjia=new JButton("+");
bjia.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{if (show!=null&&isCMD==false)
{if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="+";isCMD=true;mathProgressA(CMD);}
else {CMD="+";isCMD=true;
mathProgressA(CMD);
}
}
CMD="+";
}
}
);
/*减号*/
bjian=new JButton("-");
bjian.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{if (show!=null&&isCMD==false)
{if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="-";}
else {CMD="-";isCMD=true;
mathProgressA(CMD);
}
}
CMD="-";
}
}
);
/*乘号*/
bcheng=new JButton("×");
bcheng.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{if (show!=null&&isCMD==false)
{if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="*";}
else {CMD="*";isCMD=true;
mathProgressA(CMD);
}
}
CMD="*";
}
}
);
/*除号*/
bchu=new JButton("÷");
bchu.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{if (show!=null&&isCMD==false)
{if (CMD!=null&&deng==false) {mathProgressB(CMD);CMD="/";}
else {CMD="/";isCMD=true;
mathProgressA(CMD);
}
}
CMD="/";
}
}
);
/*右端按纽组加完*/
panelc.add(bjia);
panelc.add(bjian);
panelc.add(bcheng);
panelc.add(bchu);
return panelc;
}
/**
*下端LABERL标签
*/
private JLabel getLabel()
{label=new JLabel("作者:Nicole 时间:2006年11月");
label.setHorizontalAlignment(JLabel.CENTER);
return label;
}
/*菜单 --start-- */
private JMenuBar getMenu()
{JMenu menu = new JMenu("编辑(E)");
menu.setMnemonic('E');
JMenuItem copy = new JMenuItem("复制(C)",'C');
copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK));
JMenuItem paste = new JMenuItem("粘贴(P)",'P');
paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK));
menu.add(copy);
menu.add(paste);
//调用剪贴板 start//
clipboard=getToolkit().getSystemClipboard();
//复制
copy.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{String temp=text.getText();
StringSelection texta=new StringSelection(temp);
clipboard.setContents(texta,null);
}
}
);
//粘贴
paste.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{Transferable contents=clipboard.getContents(this);
DataFlavor flavor=DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))
try{String str=(String)contents.getTransferData(flavor);
if (isNumeric(str)==true) text.setText(str);}
catch(Exception ee){}
}
}
);
//调用剪贴板 end//
JMenu help = new JMenu("帮助(H)");
help.setMnemonic('H');
JMenuItem about = new JMenuItem("关于(A)",'A');
about.setAccelerator(KeyStroke.getKeyStroke("F1"));
about.addActionListener
(new java.awt.event.ActionListener()
{public void actionPerformed(java.awt.event.ActionEvent e)
{JOptionPane.showMessageDialog
(null,
"\nEmail(Eメール):\n chgy_1@hotmail.com\n\n 计算器 v1.0 By Nicole\n やっぱOTLは最高だ\n",
"关于",
JOptionPane.INFORMATION_MESSAGE,
new ImageIcon(Calculator.class.getResource("/about.jpg"))
);
}
}
);
help.add(about);
JMenuBar menuBar = new JMenuBar();
menuBar.add(menu);
menuBar.add(help);
return menuBar;
}
/*菜单 --end-- */
/*↓↓↓↓ Frame的构造方法--start-- ↓↓↓↓*/
public CalculatorFrame()
{setTitle("计算器v1.0");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //初始化FRAME一些属性
/* 内容器 */
contentpane=new JPanel();
setContentPane(contentpane); //定义并设置一个内容器
contentpane.setLayout(new FlowLayout());
contentpane.add(getPanela());
contentpane.add(getPanele());
contentpane.add(getPaneld());
contentpane.add(getPanelb());
contentpane.add(getPanelc());
contentpane.add(getLabel());
setJMenuBar(getMenu());
//面板部件加载完毕
/*frame 框价大小,位置,不可更改大小属性*/
pack();
setSize(280,270);
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
}
/*↑↑↑↑ Frame的构造方法--end-- ↑↑↑↑*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -