⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 计算器.txt

📁 一个用java编写的简单计算器程序.
💻 TXT
📖 第 1 页 / 共 2 页
字号:
用java设计并实现类似Windows中的计算器
 悬赏分:10 - 解决时间:2007-12-30 23:28
具体功能包括:四则运算(加、减、乘、除);八进制、16进制、2进制、10进制之间的转换;退格、初始化(清除) 

报告要求有 
一、 系统描述 
1.1 问题描述 
1.2 问题分析 
1.3 目的 
1.4 系统功能描述 
二、模块设计以及一些重要代码 
2.1 主模块设计 
2.1.1 功能描述 
2.1.2 模块结构图 
2.1.3 主界面设计 
2.2 类(解释每个类的作用,以及该类的属性和方法,类似JavaAPI文档一样) 
2.2.1 功能描述 
2.2.2 数据结构 
2.2.2.1 方法 
2.2.2.2 属性 
2.2.2.3 效果图 
2.2.2.4 类图 
2.2.3 部分重要源代码 
对重要代码的解释 
2.3 功能模块 
2.3.1 功能描述 
2.3.2 各子功能描述 
2.3.2.1 打开 
2.3.2.2 保存 
2.3.2.3 工具栏 
2.3.2.4 颜色 
2.3.2.5 帮助对话框
问题补充:请大家帮帮忙吧! 
你好,我看了你的答案,请问能生成*.class文件吗?
提问者: hewenjing322 - 试用期 一级 最佳答案
import javax.swing.*; 
import javax.swing.event.*; 
import java.awt.*; 
import java.awt.event.*; 

public class calculator extends JFrame implements ActionListener 
{//这里我把JFrame写成Frame,这个错误找了好久 
JFrame frame; 

private JButton jia=new JButton("+"); 
private JButton jian=new JButton("-"); 
private JButton cheng=new JButton("*"); 
private JButton chu=new JButton("/"); 
private JButton qiuyi=new JButton("%"); 
private JButton deng=new JButton("="); 
private JButton fu=new JButton("+/-"); 
private JButton dian=new JButton("."); 
private JButton kai=new JButton("sqrt"); 
private JButton diao=new JButton("1/x"); 
private JButton aa=new JButton("A"); 
private JButton bb=new JButton("B"); 
private JButton cc=new JButton("C"); 
private JButton dd=new JButton("D"); 
private JButton ee=new JButton("E"); 
private JButton ff=new JButton("F"); 

private TextField k1=new TextField(); 
private objConversion convert = new objConversion(); 

JMenuItem copy,paste,s,t,help,about,me; 
JRadioButton sixteen,ten,eight,two; 
JButton backspace,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9; 
Container cp; 

JTextField text; 
String copycontent=""; 
boolean clickable=true,clear=true; 
int all=0; 
double qian; 
String fuhao; 
int jin=10,first=1; 


public calculator() 
{ 
setTitle("计算器-杨彩制作"); 
setSize(400,300); 
setLocation(250,200); 
text=new JTextField(25); 
// text.setEnabled(false); 
text.setText("0."); 
text.setHorizontalAlignment(JTextField.RIGHT);//从右到左 


JPanel cp1=new JPanel(); 
JPanel cp2=new JPanel(); 
JPanel cp3=new JPanel(); 


cp=getContentPane(); 
cp.add(cp1,"North"); 
cp.add(cp2,"Center"); 
cp.add(cp3,"South"); 

cp1.setLayout(new GridLayout(1,6)); 
cp2.setLayout(new GridLayout(2,4)); 
cp3.setLayout(new GridLayout(6,6)); 

sixteen=new JRadioButton("十六进制"); 
sixteen.setVisible(false); 
ten=new JRadioButton("十进制",true); 
ten.setVisible(false); 
eight=new JRadioButton("八进制"); 
eight.setVisible(false); 
two=new JRadioButton("二进制"); 
two.setVisible(false); 
sixteen.addActionListener(this); 
ten.addActionListener(this); 
eight.addActionListener(this); 
two.addActionListener(this); 
ButtonGroup btg=new ButtonGroup(); 

btg.add(sixteen); 
btg.add(ten); 
btg.add(eight); 
btg.add(two); 

JTextField t3=new JTextField(25); 
cp1.add(text); 
// text.setEnabled(false); 
text.setEditable(false); 
text.setBackground(new Color(255, 255, 255)); 

cp2.add(sixteen); 
cp2.add(ten); 
cp2.add(eight); 
cp2.add(two); 

backspace=new JButton("Backspace"); 
backspace.setForeground(new Color(255,0,0)); 
backspace.addActionListener(this); 
ce=new JButton("CE"); 
ce.setForeground(new Color(255,0,0)); 
ce.addActionListener(this); 
c=new JButton("C"); 
c.setForeground(new Color(255,0,0)); 
c.addActionListener(this); 
k1.setVisible(false); 
cp2.add(k1); 
cp2.add(backspace); 
cp2.add(ce); 
cp2.add(c); 


num0=new JButton("0"); 
num1=new JButton("1"); 
num2=new JButton("2"); 
num3=new JButton("3"); 
num4=new JButton("4"); 
num5=new JButton("5"); 
num6=new JButton("6"); 
num7=new JButton("7"); 
num8=new JButton("8"); 
num9=new JButton("9"); 



cp3.add(num7); 
num7.addActionListener(this); 
cp3.add(num8); 
num8.addActionListener(this); 
cp3.add(num9); 
num9.addActionListener(this); 
cp3.add(chu); 
chu.setForeground(new Color(255,0,0)); 
chu.addActionListener(this); 
cp3.add(kai); 
kai.addActionListener(this); 
cp3.add(num4); 
num4.addActionListener(this); 
cp3.add(num5); 
num5.addActionListener(this); 
cp3.add(num6); 
num6.addActionListener(this); 
cp3.add(cheng); 
cheng.setForeground(new Color(255,0,0)); 
cheng.addActionListener(this); 
cp3.add(qiuyi); 
qiuyi.addActionListener(this); 
cp3.add(num1); 
num1.addActionListener(this); 
cp3.add(num2); 
num2.addActionListener(this); 
cp3.add(num3); 
num3.addActionListener(this); 
cp3.add(jian); 
jian.setForeground(new Color(255,0,0)); 
jian.addActionListener(this); 
cp3.add(diao); 
diao.addActionListener(this); 
cp3.add(num0); 
num0.addActionListener(this); 
cp3.add(fu); 
fu.addActionListener(this); 
cp3.add(dian); 
dian.addActionListener(this); 
cp3.add(jia); 
jia.setForeground(new Color(255,0,0)); 
jia.addActionListener(this); 
cp3.add(deng); 
deng.setForeground(new Color(255,0,0)); 
deng.addActionListener(this); 
cp3.add(aa); 
aa.addActionListener(this); 
cp3.add(bb); 
bb.addActionListener(this); 
cp3.add(cc); 
cc.addActionListener(this); 
cp3.add(dd); 
dd.addActionListener(this); 
cp3.add(ee); 
ee.addActionListener(this); 
cp3.add(ff); 
ff.addActionListener(this); 
aa.setVisible(false); 
bb.setVisible(false); 
cc.setVisible(false); 
dd.setVisible(false); 
ee.setVisible(false); 
ff.setVisible(false); 


JMenuBar mainMenu = new JMenuBar(); 
setJMenuBar(mainMenu); 
JMenu editMenu = new JMenu("编辑"); 
JMenu viewMenu = new JMenu("查看"); 
JMenu helpMenu = new JMenu("帮助"); 
mainMenu.add(editMenu); 
mainMenu.add(viewMenu); 
mainMenu.add(helpMenu); 

copy = new JMenuItem(" 复制"); 
paste = new JMenuItem(" 粘贴"); 
KeyStroke copyks=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK); 
copy.setAccelerator(copyks);//设置退出菜单选项加上快捷键 
KeyStroke pasteks=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK); 
paste.setAccelerator(pasteks);//设置退出菜单选项加上快捷键 
editMenu.add(copy); 
editMenu.add(paste); 
copy.addActionListener(this); 
paste.addActionListener(this); 

t = new JMenuItem("●标准型"); 
s = new JMenuItem(" 科学型"); 
viewMenu.add(t); 
viewMenu.add(s); 
t.addActionListener(this); 
s.addActionListener(this); 

help = new JMenuItem(" 帮助主题"); 
about = new JMenuItem(" 关于计算器"); 
me = new JMenuItem(" 作者主页"); 
helpMenu.add(help); 
helpMenu.add(about); 
helpMenu.add(me); 
help.addActionListener(this); 
about.addActionListener(this); 
me.addActionListener(this); 








addWindowListener(new WindowDestroyer());//结束窗口 
} 





public void actionPerformed(ActionEvent e) 

{//响应动作代码 

if(first==1) 
text.setText(""); 
first=0;//第一次把文本框0.清空 

Object temp = e.getSource(); 

if(temp==copy) 
{ 
copycontent = text.getText(); 
} 
if(temp==paste) 
{ 
text.setText(text.getText()+copycontent); 

} 
if(temp==t) 
{//标准 

sixteen.setVisible(false); 
ten.setVisible(false); 
eight.setVisible(false); 
two.setVisible(false); 
t.setText("●标准型"); 
s.setText(" 科学型"); 
aa.setVisible(false); 
bb.setVisible(false); 
cc.setVisible(false); 
dd.setVisible(false); 
ee.setVisible(false); 
ff.setVisible(false); 
} 
if(temp==s) 
{//科学 

sixteen.setVisible(true); 
ten.setVisible(true); 
eight.setVisible(true); 
two.setVisible(true); 
t.setText(" 标准型"); 
s.setText("●科学型"); 
aa.setVisible(true); 
bb.setVisible(true); 
cc.setVisible(true); 
dd.setVisible(true); 
ee.setVisible(true); 
ff.setVisible(true); 
aa.setEnabled(false); 
bb.setEnabled(false); 
cc.setEnabled(false); 
dd.setEnabled(false); 
ee.setEnabled(false); 
ff.setEnabled(false); 


} 
if(temp==help) 
{ //打开系统帮助文件 要查资料 
try 
{ 
String filePath = "C:/WINDOWS/Help/calc.chm"; 
Runtime.getRuntime().exec("cmd.exe /c "+filePath); 


} 
catch(Exception eeee) 
{ 
System.out.println("打开系统的计算器出错"); 
} 
} 
if(temp==about) 
{ 
JOptionPane.showMessageDialog(frame," Java计算器 杨彩 制作 http://blog.sina.com.cn/m/yangcai","关于计算器",JOptionPane.INFORMATION_MESSAGE); ; 
} 
if(temp==me) 
{ 
try 
{ 
Process p = Runtime.getRuntime().exec("explorer http://blog.sina.com.cn/m/yangcai"); 
} 
catch(Exception eeee) 
{ 
System.out.println("打开指定网页出错"); 
} 
} 


try 
{ 
if(temp==sixteen) 
{ 
String hex=text.getText(); 
int inthex=Integer.parseInt(hex,jin);//先把数变为10进制 
text.setText(convert.decHex(inthex)) ; 
jin=16; 
aa.setEnabled(true); 
bb.setEnabled(true); 
cc.setEnabled(true); 
dd.setEnabled(true); 
ee.setEnabled(true); 
ff.setEnabled(true); 
num2.setEnabled(true); 
num3.setEnabled(true); 
num4.setEnabled(true); 
num5.setEnabled(true); 
num6.setEnabled(true); 
num7.setEnabled(true); 
num8.setEnabled(true); 
num9.setEnabled(true); 

} 
if(temp==eight) 
{ 
String oct =text.getText(); 
int intoct=Integer.parseInt(oct,jin); 
text.setText(convert.decOct(intoct)) ; 
jin=8; 

aa.setEnabled(false); 
bb.setEnabled(false); 
cc.setEnabled(false); 
dd.setEnabled(false); 
ee.setEnabled(false); 
ff.setEnabled(false); 
num2.setEnabled(true); 
num3.setEnabled(true); 
num4.setEnabled(true); 
num5.setEnabled(true); 
num6.setEnabled(true); 
num7.setEnabled(true); 
num8.setEnabled(false); 
num9.setEnabled(false); 
} 
if(temp==two) 
{ 
String bin=text.getText(); 
int intbin=Integer.parseInt(bin,jin); 
text.setText(convert.decBin(intbin)); 
jin=2; 

aa.setEnabled(false); 
bb.setEnabled(false); 
cc.setEnabled(false); 
dd.setEnabled(false); 
ee.setEnabled(false); 
ff.setEnabled(false); 
num2.setEnabled(false); 
num3.setEnabled(false); 
num4.setEnabled(false); 
num5.setEnabled(false); 
num6.setEnabled(false); 
num7.setEnabled(false); 
num8.setEnabled(false); 
num9.setEnabled(false); 
} 
if(temp==ten) 
{ 
String dec=text.getText(); 
int intdec=Integer.parseInt(dec,jin); 
// text.setText(convert.decDec(intdec)); //本句会把123变成321 
text.setText(intdec+""); 
jin=10; 
aa.setEnabled(false); 
bb.setEnabled(false); 
cc.setEnabled(false); 
dd.setEnabled(false); 
ee.setEnabled(false); 
ff.setEnabled(false); 
num2.setEnabled(true); 
num3.setEnabled(true); 
num4.setEnabled(true); 
num5.setEnabled(true); 
num6.setEnabled(true); 
num7.setEnabled(true); 
num8.setEnabled(true); 
num9.setEnabled(true); 
} 
} 
catch(Exception ee) 
{ 
System.out.println("转换出错,可能你没有输入任何字符"); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -