//******************版权所有 306383514_张雪松, 盗版必纠 :) *********************
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.math.*;
//**********************[窗体及功能类]***********************
class Window extends JFrame implements ActionListener,KeyListener,ItemListener
{
double pi=3.1415926535897932384626433832795;
//************--------菜单条相关声明--------**************
JMenuBar menubar;
JMenu menu1,menu2,menu3;
JMenuItem item1,item2,item3,item4,item5,item6;
//**************--------布局相关声明--------**************
Box basebox;
JPanel panel,panel1,panel2,panel3,panel4,panel22;
//************--------文本框相关声明--------**************
JTextField t_show;//主显示框
JLabel Null;//为布局而设的空插件
JTextField t_M,t_K;//t_M指示储存器状态,t_K指示括号状态
//************----------按钮相关声明--------**************
JButton b_Backspace,b_CE,b_C;//操作区按钮
JButton b_MC,b_MR,b_MS,b_Madd;//存储器区按钮
JButton b_0,b_1,b_2,b_3,b_4,b_5,b_6,b_7,b_8,b_9;//数字区按键
JButton b_add,b_sub,b_mul,b_div,b_sqrt,b_dao,b_sign,b_dian,b_deng,b_100;//标准操作按键
JButton b_xy,b_ln,b_log,b_pi,b_x2,b_x3,b_sin,b_cos,b_tan,b_k1,b_k2,b_n;//科学操作按键
ButtonGroup group;//单选域
JRadioButton j,h;//单选扭,j是角度,h是弧度
//************----------数据相关声明--------**************
double d[]={0,0,0,0,0,0,0,0,0,0,0};//数据1~10
String t[]={"0","0","0","0","0","0","0","0","0","0","0"};//数据相应的字符串型
//记录运算符 mark指示当前是那个操作符1-mark1,2-mark2. mark[1],[2]表示 0无 1加 2减 3乘 4除
int mark=1,marks[]={0,0,0,0,0};
int state=1;//记录状态 说明现在输入的是第几个数
int start=0;//记录状态 0说明第一次输入,数字替换以前内容,1说明在尾部添加数字
int deng=0;//记录是否进行过'='运算 0没有 1有
int k1=0,k2=0;//记录括号状态
double Mdate=0;//M储存器内数值
int radio=1;//1记录单选钮选中“角度”,2-弧度
Window(String s,int style)//style表征窗体类型 1代表标准型 2代表科学型
{
//**************--------窗体设置---------***************
super(s);
if(style==1)
setBounds(100,100,380,270);
else
setBounds(100,100,550,270);
setVisible(true);
setResizable(false);
//**************-------菜单条设置--------***************
menubar = new JMenuBar();
menu1 = new JMenu("编辑(E)");
menu1.setMnemonic(KeyEvent.VK_E);//设置快捷键Alt+E
item1 = new JMenuItem("复制",new ImageIcon("copy.jpg"));
item1.addActionListener(this);
item2 = new JMenuItem("粘贴",new ImageIcon("cv.jpg"));
item2.addActionListener(this);
item1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
menu2 = new JMenu("查看(V)");
menu2.setMnemonic(KeyEvent.VK_V);//设置快捷键Alt+V
item3 = new JMenuItem("标准型",new ImageIcon("a.jpg"));
item3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();//释放当前窗口
new Window("标准型计算器",1).setVisible(true);
}
});
item4 = new JMenuItem("科学型",new ImageIcon("b.jpg"));
item4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();//释放当前窗口
new Window("科学型计算器",2).setVisible(true);
}
});
menu3 = new JMenu("帮助(H)");
menu3.setMnemonic(KeyEvent.VK_H);//设置快捷键Alt+H
item5 = new JMenuItem("帮助",new ImageIcon("help.jpg"));
item5.addActionListener(this);
item6 = new JMenuItem("关于",new ImageIcon("about.jpg"));
item6.addActionListener(this);
menu1.add(item1);
menu1.addSeparator();
menu1.add(item2);
menu2.add(item3);
menu2.addSeparator();
menu2.add(item4);
menu3.add(item5);
menu3.addSeparator();
menu3.add(item6);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
setJMenuBar(menubar);
//**************---------面板设置---------**************
basebox = Box.createVerticalBox();
FlowLayout flow = new FlowLayout();
flow.setAlignment(FlowLayout.RIGHT);
panel1 = new JPanel();
if (style==1)
t_show = new JTextField(32);//显示文本框
else
t_show = new JTextField(48);//显示文本框
t_show.setText("0");
t_show.setEditable(false);
t_show.setHorizontalAlignment(SwingConstants.RIGHT);//显示右对齐
t_show.setBackground(Color.white);
panel1.setLayout(flow);
panel1.add(t_show);
basebox.add(panel1);
panel2 = new JPanel();
panel2.setLayout(flow);
t_K = new JTextField(5);
t_K.setHorizontalAlignment(SwingConstants.CENTER);//显示右对齐
t_K.setText(" — ");
t_K.setEditable(false);
Null = new JLabel(" ");
t_M = new JTextField(5);
t_M.setHorizontalAlignment(SwingConstants.CENTER);//显示右对齐
t_M.setText(" — ");
t_M.setEditable(false);
b_Backspace = new JButton(" Backspace ");
b_CE = new JButton(" CE ");
b_C = new JButton(" C ");
panel22 = new JPanel();
panel22.setLayout(new GridLayout(1,style,2,1));
if(style==2)
{
group = new ButtonGroup();
j = new JRadioButton("角度",true);
j.addItemListener(this);j.addKeyListener(this);
h = new JRadioButton("弧度",false);
h.addItemListener(this);h.addKeyListener(this);
group.add(j);
group.add(h);
panel22.add(t_K);
}
panel22.add(t_M);
if(style==2)
{
panel2.add(j);
panel2.add(h);
}
panel2.add(panel22);
panel2.add(Null);
panel2.add(b_Backspace);
panel2.add(b_CE);
panel2.add(b_C);
basebox.add(panel2);
panel = new JPanel();
panel3 = new JPanel();
panel3.setLayout(new GridLayout(4,6,3,2));
//声明添加所需按钮
b_MC = new JButton("MC");
b_MR = new JButton("MR");
b_MS = new JButton("MS");
b_Madd = new JButton("M+");
b_0 = new JButton("0");
b_1 = new JButton("1");
b_2 = new JButton("2");
b_3 = new JButton("3");
b_4 = new JButton("4");
b_5 = new JButton("5");
b_6 = new JButton("6");
b_7 = new JButton("7");
b_8 = new JButton("8");
b_9 = new JButton("9");
b_add = new JButton("+");
b_sub = new JButton("-");
b_mul = new JButton("×");
b_div = new JButton("÷");
b_deng = new JButton("=");
b_dian = new JButton(".");
b_sign = new JButton("+/-");
b_100 = new JButton("%");
b_dao = new JButton("1/x");
b_sqrt = new JButton("sqrt");
panel3.add(b_MC); panel3.add(b_7); panel3.add(b_8); panel3.add(b_9); panel3.add(b_div); panel3.add(b_sqrt);
panel3.add(b_MR); panel3.add(b_4); panel3.add(b_5); panel3.add(b_6); panel3.add(b_mul);panel3.add(b_100);
panel3.add(b_MS); panel3.add(b_1); panel3.add(b_2); panel3.add(b_3); panel3.add(b_sub); panel3.add(b_dao);
panel3.add(b_Madd);panel3.add(b_0); panel3.add(b_sign);panel3.add(b_dian);panel3.add(b_add); panel3.add(b_deng);
panel4 = new JPanel();
panel4.setLayout(new GridLayout(4,3,3,2));
b_xy = new JButton("x^y");
b_ln = new JButton("ln");
b_log = new JButton("log");
b_pi = new JButton("π");
b_x2 = new JButton("x^2");
b_x3 = new JButton("x^3");
b_k1 = new JButton("(");
b_k2 = new JButton(")");
b_sin = new JButton("sin");
b_cos = new JButton("cos");
b_tan = new JButton("tan");
b_n = new JButton("n!");
panel4.add(b_pi); panel4.add(b_k1); panel4.add(b_k2);
panel4.add(b_tan); panel4.add(b_xy); panel4.add(b_ln);
panel4.add(b_cos); panel4.add(b_x3); panel4.add(b_log);
panel4.add(b_sin); panel4.add(b_x2); panel4.add(b_n);
panel.setLayout(flow);
if (style==2)
{
panel.add(panel4);
}
panel.add(panel3);
basebox.add(panel);
//添加键盘事件
addKeyListener(this);
//给按钮添加监听器,监听事件
b_Backspace.addActionListener(this);b_Backspace.addKeyListener(this);
b_CE.addActionListener(this);b_CE.addKeyListener(this);
b_C.addActionListener(this);b_C.addKeyListener(this);
b_MC.addActionListener(this)
没有合适的资源?快使用搜索试试~ 我知道了~
java初学者例子
共131个文件
java:95个
html:17个
class:11个
需积分: 0 6 下载量 41 浏览量
2008-07-13
19:57:41
上传
评论
收藏 377KB RAR 举报
温馨提示
这些例子是我照着书上一个个打下来,也调试检验过了,用的是<br>j2sdk 1.5 调试的,希望能够帮助和我一样的初学者更好地在Java的世界中成长。
资源详情
资源评论
资源推荐
收起资源包目录
java初学者例子 (131个子文件)
Example616.java.bak 1020B
Example711.java.bak 481B
Window.class 17KB
MouseTest.class 1KB
Dialog.class 973B
Example711.class 863B
Example618.class 818B
MouseTest$1.class 755B
Window$1.class 606B
Window$2.class 606B
MouseTest$2.class 504B
Example616.class 378B
caculator.class 349B
HelloApplet.html 142B
Example306.html 141B
Example615.html 141B
Example711.html 141B
Example709.html 141B
Example708.html 141B
Example705.html 141B
Example706.html 141B
Example702.html 141B
Example703.html 141B
Example701.html 141B
Example707.html 141B
Example710.html 141B
Example704.html 141B
Ch7Test3.html 139B
Ch7Test2.html 139B
Ch7Test1.html 139B
caculator.java 22KB
Example625.java 3KB
Example621.java 2KB
Example626.java 2KB
Ch7Test3.java 2KB
Example201.java 1KB
Example611.java 1KB
Example627.java 1KB
Example624.java 1KB
Vehicle.java 1KB
Example622.java 1KB
Example401.java 1KB
Example620.java 1KB
Example406.java 1KB
Example619.java 1KB
Example616.java 997B
Example623.java 991B
Test402.java 991B
Ch6Test2.java 936B
Example303.java 924B
Example613.java 848B
Example307.java 842B
Example403.java 742B
Example615.java 740B
Example204.java 739B
Example404.java 731B
Example710.java 729B
Example606.java 709B
Example217.java 694B
Ch4Test5.java 679B
Example202.java 678B
Ch4Test3.java 668B
Example407.java 639B
Ch4Test2.java 630B
Example308.java 619B
Example709.java 611B
Example305.java 604B
Example708.java 598B
Example607.java 597B
Example612.java 591B
Example312.java 589B
Example602.java 588B
Example306.java 578B
Example605.java 557B
Example203.java 556B
Example207.java 545B
Example206.java 544B
Example610.java 543B
Test403.java 538B
Example3111.java 537B
Example213.java 514B
Example608.java 496B
Example408.java 496B
Example609.java 493B
Example313.java 483B
Example614.java 483B
Example711.java 483B
Trapezia.java 470B
Example604.java 466B
Example402.java 454B
Example706.java 433B
Ch7Test1.java 433B
TestTrapezia.java 420B
ExampleTest2.java 417B
Example618.java 414B
Ch6Test1.java 400B
Ch4Test1.java 386B
Ch7Test2.java 378B
Example707.java 375B
Example405.java 374B
共 131 条
- 1
- 2
TonyEm
- 粉丝: 26
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0