java图形界面编写计算器.docx
- 文档编号:23322316
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:17
- 大小:16.16KB
java图形界面编写计算器.docx
《java图形界面编写计算器.docx》由会员分享,可在线阅读,更多相关《java图形界面编写计算器.docx(17页珍藏版)》请在冰豆网上搜索。
java图形界面编写计算器
packagecom.inspur.calculator;
importjava.awt.BorderLayout;
importjavax.swing.JDialog;
importjavax.swing.JPanel;
importjavax.swing.JFrame;
importjavax.swing.JTextField;
importjavax.swing.UIManager;
importjavax.swing.UnsupportedLookAndFeelException;
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.Rectangle;
importjava.awt.GridBagLayout;
importjava.awt.Dimension;
importjava.awt.Point;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.plaf.FontUIResource;
publicclassCalculatorextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
privateJPanelcp=null;
JTextFieldtf=null;
privateJPanelpn=null;
privateJPanelpn1=null;
privateJPanelpn2=null;
privateJButtonbl=null;
privateJButtonbo=null;
privateJButtonb1=null;
privateJButtonb09=null;
privateJButtonbc=null;
privateJButtonb31=null;
privateJButtonb4=null;
privateJButtonb8=null;
privateJButtonb6=null;
privateJButtonb7=null;
privateJButtonb2=null;
privateJButtonbb=null;
privateJButtonb06=null;
privateJButtonb04=null;
privateJButtonbd=null;
privateJButtonb05=null;
privateJButtonb03=null;
privateJButtonba=null;
Monitor1m1=newMonitor1(this);
/**
*Thisisthedefaultconstructor
*/
publicCalculator(){
super();
initialize();
}
/**
*Thismethodinitializesthis
*
*@returnvoid
*/
privatevoidinitialize(){
this.setSize(300,200);
this.setContentPane(getCp());
this.setTitle("JFrame");
this.setResizable(false);
this.setVisible(true);
}
/**
*Thismethodinitializescp
*
*@returnjavax.swing.JPanel
*/
privateJPanelgetCp(){
if(cp==null){
cp=newJPanel();
cp.setLayout(null);
cp.add(getTf(),null);
cp.add(getPn(),null);
}
returncp;
}
/**
*Thismethodinitializestf
*
*@returnjavax.swing.JTextField
*/
privateJTextFieldgetTf(){
if(tf==null){
tf=newJTextField();
tf.setLocation(newPoint(1,0));
tf.setSize(newDimension(282,20));
tf.setHorizontalAlignment(JTextField.RIGHT);
}
returntf;
}
/**
*Thismethodinitializespn
*
*@returnjavax.swing.JPanel
*/
privateJPanelgetPn(){
if(pn==null){
pn=newJPanel();
pn.setLayout(newBorderLayout());
pn.setBounds(newRectangle(2,17,280,146));
pn.add(getPn1(),BorderLayout.NORTH);
pn.add(getPn2(),BorderLayout.WEST);
}
returnpn;
}
/**
*Thismethodinitializespn1
*
*@returnjavax.swing.JPanel
*/
privateJPanelgetPn1(){
if(pn1==null){
pn1=newJPanel();
pn1.setLayout(newBorderLayout());
pn1.setPreferredSize(newDimension(127,26));
pn1.add(getBl(),BorderLayout.CENTER);
pn1.add(getBo(),BorderLayout.EAST);
}
returnpn1;
}
/**
*Thismethodinitializespn2
*
*@returnjavax.swing.JPanel
*/
privateJPanelgetPn2(){
if(pn2==null){
GridLayoutgridLayout=newGridLayout();
gridLayout.setRows(4);
gridLayout.setColumns(4);
pn2=newJPanel();
pn2.setLayout(gridLayout);
pn2.setPreferredSize(newDimension(280,100));
pn2.add(getB1(),null);
pn2.add(getB2(),null);
pn2.add(getB03(),null);
pn2.add(getBa(),null);
pn2.add(getB04(),null);
pn2.add(getB05(),null);
pn2.add(getB06(),null);
pn2.add(getBb(),null);
pn2.add(getB7(),null);
pn2.add(getB8(),null);
pn2.add(getB09(),null);
pn2.add(getBc(),null);
pn2.add(getB0(),null);
pn2.add(getB4(),null);
pn2.add(getB6(),null);
pn2.add(getBd(),null);
}
returnpn2;
}
/**
*Thismethodinitializesbl
*
*@returnjavax.swing.JButton
*/
privateJButtongetBl(){
if(bl==null){
bl=newJButton("CLEAR");
bl.setForeground(Color.RED);
bl.setBackground(Color.YELLOW);
bl.addActionListener(m1);
}
returnbl;
}
/**
*Thismethodinitializesbo
*
*@returnjavax.swing.JButton
*/
privateJButtongetBo(){
if(bo==null){
bo=newJButton("OFF");
bo.setForeground(Color.RED);
bo.setBackground(Color.YELLOW);
bo.addActionListener(m1);
}
returnbo;
}
/**
*Thismethodinitializesb1
*
*@returnjavax.swing.JButton
*/
privateJButtongetB1(){
if(b1==null){
b1=newJButton("0");
b1.setText("1");
b1.addActionListener(m1);
}
returnb1;
}
/**
*Thismethodinitializesb09
*
*@returnjavax.swing.JButton
*/
privateJButtongetB09(){
if(b09==null){
b09=newJButton("1");
b09.setText("9");
b09.addActionListener(m1);
}
returnb09;
}
/**
*Thismethodinitializesbc
*
*@returnjavax.swing.JButton
*/
privateJButtongetBc(){
if(bc==null){
bc=newJButton();
bc.setText("*");
bc.setForeground(Color.BLUE);
bc.addActionListener(m1);
}
returnbc;
}
/**
*Thismethodinitializesb31
*
*@returnjavax.swing.JButton
*/
privateJButtongetB0(){
JButtonb0=null;
if(b0==null){
b0=newJButton();
b0.setText("0");
b0.addActionListener(m1);
}
returnb0;
}
/**
*Thismethodinitializesb4
*
*@returnjavax.swing.JButton
*/
privateJButtongetB4(){
if(b4==null){
b4=newJButton();
b4.setText(".");
b4.addActionListener(m1);
}
returnb4;
}
/**
*Thismethodinitializesb8
*
*@returnjavax.swing.JButton
*/
privateJButtongetB8(){
if(b8==null){
b8=newJButton();
b8.setText("8");
b8.addActionListener(m1);
}
returnb8;
}
/**
*Thismethodinitializesb6
*
*@returnjavax.swing.JButton
*/
privateJButtongetB6(){
if(b6==null){
b6=newJButton();
b6.setText("=");
b6.setForeground(Color.RED);
b6.addActionListener(m1);
}
returnb6;
}
/**
*Thismethodinitializesb7
*
*@returnjavax.swing.JButton
*/
privateJButtongetB7(){
if(b7==null){
b7=newJButton();
b7.setText("7");
b7.addActionListener(m1);
}
returnb7;
}
/**
*Thismethodinitializesb2
*
*@returnjavax.swing.JButton
*/
privateJButtongetB2(){
if(b2==null){
b2=newJButton();
b2.setText("2");
b2.addActionListener(m1);
}
returnb2;
}
/**
*Thismethodinitializesbb
*
*@returnjavax.swing.JButton
*/
privateJButtongetBb(){
if(bb==null){
bb=newJButton();
bb.setText("-");
bb.setForeground(Color.BLUE);
bb.addActionListener(m1);
}
returnbb;
}
/**
*Thismethodinitializesb06
*
*@returnjavax.swing.JButton
*/
privateJButtongetB06(){
if(b06==null){
b06=newJButton();
b06.setText("6");
b06.addActionListener(m1);
}
returnb06;
}
/**
*Thismethodinitializesb04
*
*@returnjavax.swing.JButton
*/
privateJButtongetB04(){
if(b04==null){
b04=newJButton();
b04.setText("4");
b04.addActionListener(m1);
}
returnb04;
}
/**
*Thismethodinitializesbd
*
*@returnjavax.swing.JButton
*/
privateJButtongetBd(){
if(bd==null){
bd=newJButton();
bd.setText("/");
bd.setForeground(Color.BLUE);
bd.addActionListener(m1);
}
returnbd;
}
/**
*Thismethodinitializesb05
*
*@returnjavax.swing.JButton
*/
privateJButtongetB05(){
if(b05==null){
b05=newJButton();
b05.setText("5");
b05.addActionListener(m1);
}
returnb05;
}
/**
*Thismethodinitializesb03
*
*@returnjavax.swing.JButton
*/
privateJButtongetB03(){
if(b03==null){
b03=newJButton();
b03.setText("3");
b03.addActionListener(m1);
}
returnb03;
}
/**
*Thismethodinitializesba
*
*@returnjavax.swing.JButton
*/
privateJButtongetBa(){
if(ba==null){
ba=newJButton();
ba.setText("+");
ba.setForeground(Color.BLUE);
ba.addActionListener(m1);
}
returnba;
}
publicstaticvoidmain(String[]args){
newCalculator();
}
}
classMonitor1implementsActionListener{
Strings="",s1;
doubled1,d2;
Calculatortf1=null;
JTextFieldtf=null;
publicMonitor1(Calculatortf){
this.tf1=tf;
}
publicvoidactionPerformed(ActionEvente){
Stringcommand=e.getActionCommand();
tf1.tf.setText(tf1.tf.getText()+command);
if(command.equals("CLEAR"))
{
s1=null;
s="";
tf1.tf.setText("");
}
elseif(command.equals("OFF"))
System.exit(0);
elseif(!
command.equals("*")&&!
command.equals("/")&&!
command.equals("+")&&!
command.equals("-")
&&!
command.equals("="))
{
if(s1==null)
s1=command;
else
s1+=command;
d1=newDouble(s1).doubleValue();
try{
if(s.equals("+"))
d1=d1+d2;
elseif(s.equals("-"))
d1=d2-d1;
elseif(s.equals("*"))
d1=d1*d2;
elseif(s.equals("/"))
d1=d2/d1;
}catch(Exceptionex){
tf1.tf.setText("Error");
System.out.println(ex.getMessage());
}
}
elseif(!
command.equals("="))
{
s=command;
s1=null;
d2=d1;
}else
{
tf1.tf.setText(tf1.tf.getText()+d1);
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 图形界面 编写 计算器