




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
标记:已将此邮件标记为星标邮件。取消星标正在查询发送状态.查询发信状态失败,重新查询java课程设计专业:计算机应用技术 班级: 0901 学号:2009200637 设计人: 谢荣芳 指导教师:兰方鹏 一、JAVA源代码import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.JTextArea;import java.applet.*;import java.awt.datatransfer.*; public class myzy public static void main(String args) MyFrame win=new MyFrame(java设计的windows窗口);/复数运算窗口class Complex extends Frame implements ActionListener TextField txt1,txt2,txt3,txt4,txt5,txt6;/声明对象 Button button6,button7,button8,button9; Label label2; Box box1,box2,box3,box4,box5,box6,box7,box8,box9;/声明两个行型盒式容器box1,box2 / 一个列型盒式容器 box3 Complex()setLayout(new FlowLayout(); txt1=new TextField(3);/对象实例化 txt2=new TextField(3); txt3=new TextField(3); txt4=new TextField(3); txt5=new TextField(3); txt6=new TextField(3); label2=new Label( ); button6=new Button(加); button7=new Button(减); button8=new Button(乘); button9=new Button(除); box1=Box.createHorizontalBox(); box1.add(txt1); box1.add(new Label(+); box1.add(txt3); box1.add(new Label(i); box4=Box.createHorizontalBox(); box4.add(label2); box5=Box.createHorizontalBox(); box5.add(txt2); box5.add(new Label(+); box5.add(txt4); box5.add(new Label(i); box6=Box.createHorizontalBox(); box6.add(new Label(=); box7=Box.createHorizontalBox(); box7.add(txt5); box7.add(new Label(+); box7.add(txt6); box7.add(new Label(i); box8=Box.createVerticalBox(); box8.add(box1); box8.add(Box.createVerticalStrut(3); box8.add(box4); box8.add(Box.createVerticalStrut(3); box8.add(box5); box8.add(Box.createVerticalStrut(3); box8.add(box6); box8.add(Box.createVerticalStrut(3); box8.add(box7); box2=Box.createVerticalBox(); box2.add(button6); box2.add(Box.createVerticalStrut(3); box2.add(button7); box2.add(Box.createVerticalStrut(3); box2.add(button8); box2.add(Box.createVerticalStrut(3); box2.add(button9); box9=Box.createHorizontalBox(); box9.add(box2); box9.add(Box.createVerticalStrut(35); box9.add(box8); add(box9); button6.addActionListener(this);/对象添加监视器 button7.addActionListener(this);button8.addActionListener(this); button9.addActionListener(this); setSize(200,200); setVisible(true); setResizable(false); addWindowListener(new WindowAdapter()/为窗口添加监视器,保证窗口正常关闭 public void windowClosing(WindowEvent e) System.exit(0); );validate();public void actionPerformed(ActionEvent e)/实现接口方法 double m1,m2; if(e.getSource()=button6) / 实现复数相加 double a,b,c,d; try a=Double.parseDouble(txt1.getText(); c=Double.parseDouble(txt2.getText(); b=Double.parseDouble(txt3.getText(); d=Double.parseDouble(txt4.getText(); m1=a+c; m2=b+d; txt5.setText(String.valueOf(m1); txt6.setText(String.valueOf(m2); label2.setText(+); catch(NumberFormatException ee) txt6.setText(请输入数字字符); else if(e.getSource()=button7) /实现复数相减 double a,b,c,d; try a=Double.parseDouble(txt1.getText(); c=Double.parseDouble(txt2.getText(); b=Double.parseDouble(txt3.getText(); d=Double.parseDouble(txt4.getText(); m1=a-c; m2=b-d; txt5.setText(String.valueOf(m1); txt6.setText(String.valueOf(m2); label2.setText(-); catch(NumberFormatException ee) txt6.setText(请输入数字字符); else if(e.getSource()=button8) /实现复数相乘 double a,b,c,d; try a=Double.parseDouble(txt1.getText(); c=Double.parseDouble(txt2.getText(); b=Double.parseDouble(txt3.getText(); d=Double.parseDouble(txt4.getText(); m1=a*c-b*d; m2=a*d+b*c; txt5.setText(String.valueOf(m1); txt6.setText(String.valueOf(m2); label2.setText(*); catch(NumberFormatException ee) txt6.setText(请输入数字字符); if(e.getSource()=button9) /实现复数相除 double a,b,c,d; try a=Double.parseDouble(txt1.getText(); c=Double.parseDouble(txt2.getText(); b=Double.parseDouble(txt3.getText(); d=Double.parseDouble(txt4.getText(); m1=(a*c+b*d)/(c*c+d*d); m2=(b*c-a*d)/(c*c+d*d); txt5.setText(String.valueOf(m1); txt6.setText(String.valueOf(m2); label2.setText(/); catch(NumberFormatException ee) txt6.setText(请输入数字字符); validate();/计算器窗口class CalculatorFrame extends Frame implements ActionListener TextField text2,text3,text4;/声明对象Button button1,button2,button3,button4,button5;Label label,label1;Box baseBox1,baseBox2,baseBox;/声明两个行型盒式容器baseBox1,baseBox2,一个列型盒式容器,baseBox CalculatorFrame() setLayout(new FlowLayout();text2=new TextField(10);/为对象分配内存text3=new TextField(10);text4=new TextField(10);label=new Label( );label1=new Label(=);label.setBackground(Color.yellow);label1.setBackground(Color.green);button1=new Button(+);button2=new Button(-);button3=new Button(*);button4=new Button(/);button5=new Button(复数运算); baseBox1=Box.createHorizontalBox();/添加的组件之间插入水平支撑控制组件之间距离 baseBox1.add(Box.createHorizontalStrut(10); baseBox1.add(text2); baseBox1.add(Box.createHorizontalStrut(10); baseBox1.add(label); baseBox1.add(Box.createHorizontalStrut(10); baseBox1.add(text3); baseBox1.add(Box.createHorizontalStrut(10); baseBox1.add(label1); baseBox1.add(Box.createHorizontalStrut(10); baseBox1.add(text4); baseBox1.add(Box.createHorizontalStrut(10); baseBox2=Box.createHorizontalBox();/添加的组件之间插入垂直支撑控制组件之间距离 baseBox2.add(Box.createHorizontalStrut(10); baseBox2.add(button1); baseBox2.add(Box.createHorizontalStrut(10); baseBox2.add(button2); baseBox2.add(Box.createHorizontalStrut(10); baseBox2.add(button3); baseBox2.add(Box.createHorizontalStrut(10); baseBox2.add(button4); baseBox2.add(Box.createHorizontalStrut(10); baseBox2.add(button5); baseBox2.add(Box.createHorizontalStrut(10); baseBox =Box.createVerticalBox(); baseBox.add(Box.createVerticalStrut(10); baseBox.add(baseBox1); baseBox.add(Box.createVerticalStrut(10); baseBox.add(baseBox2); baseBox.add(Box.createVerticalStrut(10); add(baseBox); button1.addActionListener(this);/对象添加监视器button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);setBounds(300,300,360,120);setVisible(true);setResizable(false);addWindowListener (new WindowAdapter()/增加适配器使窗口正常关闭 public void windowClosing(WindowEvent e) System.exit(0); ); validate(); public void actionPerformed(ActionEvent e)/实现接口方法 double n;if(e.getSource()=button1)/实现加法运算 double n1,n2;try n1=Double.parseDouble(text2.getText();n2=Double.parseDouble(text3.getText();n=n1+n2;text4.setText(String.valueOf(n);label.setText(+);catch(NumberFormatException ee) text4.setText(请输入数字字符); else if(e.getSource()=button2)/实现减法运算 double n1,n2;try n1=Double.parseDouble(text2.getText();n2=Double.parseDouble(text3.getText();n=n1-n2;text4.setText(String.valueOf(n);label.setText(-);catch(NumberFormatException ee) text4.setText(请输入数字字符);else if(e.getSource()=button3)/实现乘法运算 double n1,n2;try n1=Double.parseDouble(text2.getText();n2=Double.parseDouble(text3.getText();n=n1*n2;text4.setText(String.valueOf(n);label.setText(*);catch(NumberFormatException ee) text4.setText(请输入数字字符);else if(e.getSource()=button4)/实现除法运算 double n1,n2;try n1=Double.parseDouble(text2.getText();n2=Double.parseDouble(text3.getText();n=n1/n2;text4.setText(String.valueOf(n);label.setText(/);catch(NumberFormatException ee) text4.setText(请输入数字字符); else if(e.getSource()=button5)/实现复数运算 Complex fushu=new Complex(); fushu.setTitle(复数运算);/设置窗口标题 toFront(); validate();/保证组件正常显示 /标准的windows窗口class MyFrame extends Frame implements ActionListener,ItemListener MenuBar menubar;/声明对象 Menu menu1,menu2,menu3; MenuItem item1,item2,item3,item4,item5,item6,item7,item8; Clipboard clipboard=null; /声明一个剪切板对象 TextArea text,text1; BufferedReader in; FileReader file_reader; BufferedWriter out; FileWriter tofile; FileDialog filedialog_save,filedialog_load; Choice list; JTextArea text0; MyFrame(String s) setTitle(s);/设置窗口标题Toolkit tool=getToolkit(); Dimension dim=tool.getScreenSize();setBounds(100,100,dim.width/2,dim.height/2);/设置窗口出现的初始位置 clipboard=getToolkit().getSystemClipboard(); text1=new TextArea(10,20); /为对象分配内存,使用new和构造方法menubar=new MenuBar();menu1=new Menu(文件);menu2=new Menu(编辑);menu3=new Menu(工具);item1=new MenuItem(打开);item1.setShortcut(new MenuShortcut(KeyEvent.VK_O); item2=new MenuItem(保存); item2.setShortcut(new MenuShortcut(KeyEvent.VK_S); item3=new MenuItem(退出); item3.setShortcut(new MenuShortcut(KeyEvent.VK_E); item4=new MenuItem(剪切); item4.setShortcut(new MenuShortcut(KeyEvent.VK_C); item5=new MenuItem(复制); item5.setShortcut(new MenuShortcut(KeyEvent.VK_P); item6=new MenuItem(粘贴); item6.setShortcut(new MenuShortcut(KeyEvent.VK_V); item7=new MenuItem(计算器); item7.setShortcut(new MenuShortcut(KeyEvent.VK_Q); item1.addActionListener(this);/将窗口作为它的监视器 item2.addActionListener(this);item3.addActionListener(this); item4.addActionListener(this); item5.addActionListener(this);item6.addActionListener(this); item7.addActionListener(this); menu1.add(item1);/调用add()方法添加组件 menu1.add(item2); menu1.add(item3); menu2.add(item4); menu2.add(item5); menu2.add(item6); menu3.add(item7); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); setMenuBar(menubar);/将菜单条放置到窗口 add(text1); filedialog_save=new FileDialog(this,保存对话框,FileDialog.SAVE); filedialog_load=new FileDialog(this,打开对话框,FileDialog.LOAD); filedialog_load.addWindowListener(new WindowAdapter()/保存对话框增加适配器 public void windowClosing(WindowEvent e) filedialog_load.setVisible(false); ); filedialog_save.addWindowListener(new WindowAdapter()/打开对话框增加适配器 public void windowClosing(WindowEvent e) filedialog_save.setVisible(false); ); addWindowListener(new WindowAdapter() /增加适配器使窗口正常关闭 public void windowActivated(WindowEvent e) public void windowClosing(WindowEvent e) System.exit(0); ); list=new Choice(); text0=new JTextArea(); text0.setForeground(Color.blue); GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); String fontName=ge.getAvailableFontFamilyNames(); for(int i=0;ifontName.length;i+) list.add(fontNamei); add(list,BorderLayout.NORTH); add(text0,BorderLayout.CENTER); text0.setForeground(Color.red); list.addItemListener(this);setVisible(true);/窗口可见 setResizable(true);/可调整大小validate();/保证组件正确显示 public void itemStateChanged(ItemEvent e) String name=list.getSelectedItem(); Font f=new Font(name,Font.BOLD,32); text0.setFont(f); text0.setText(); public void actionPerformed(ActionEvent e)/实现接口方法 if(e.getSource()=item1) /使用文件对话框打开文件 filedialog_load.setVisible(true); text0.setText(null); String s; if(filedialog_load.getFile()!=null) try File file= new File(filedialog_load.getDirectory(),filedialog_load.getFile(); file_reader=new FileReader(file); in=new BufferedReader(file_reader); while(s=in.readLine()!=null) text0.append(s+n); in.close(); file_reader.close(); catch(IOException e2)System.out.println(打开失败); else if(e.getSource()=item2) /使用文件对话框保存文件 filedialog_save.setVisible(true); if(filedialog_save.getFile()!=null) tryFile file=new File(filedialog_save.getDirectory(),filedialog_save.getFile(); tofile=new FileWriter(file); out=new BufferedWriter(tofile); out.write(text.getText(),0,(text.getText().length(); out.close(); tofile.close(); catch(IOException e2) else if(e.getSource()=item3) /实现退出功能 System.exit(0); else if(e.getSource()=item4) /实现剪切功能 String temp=text0.getSelectedText(); StringSelection text=new StringSelection(temp); clipboard.setContents(text,null); int start=text0.getSelectionStart(); int end =text0.getSelectionEnd(); text0.replaceRange(,start,end) ; /从text1中删除被选取的文本 else if(e.getSource()=item5) /实现复制功能 String temp=text0.getS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023-2024学年陕西省安康市高二下学期期末质量联考数学试卷(解析版)
- 高中英语选择性必修四课本同步课件UNIT-4-SHARING-Using-Language
- 随申如何开委托书
- 公积金委托协议风险
- 对不好的员工评语
- 食堂用餐文化建设
- 作业帮新员工管理制度
- 供暖公司计量管理制度
- 供水企业行政管理制度
- 供水收费大厅管理制度
- 【课件】遗传与进化复习(图表、思维导图)课件高一下学期生物人教版必修2
- 小学数学北师大四年级上册二线与角《线的认识》军乐小学周蓉
- 管道工程量计算规则
- 律师事务所业务操作规程
- Q∕SY 05267-2016 钢质管道内检测开挖验证规范
- 水系沉积物地球化学测量1
- 成败归因理论PPT课件
- 湘鲁版六年级下册期末英语试卷
- 汽车标准件手册
- (完整版)绿色施工管理体系与管理制度
- 报销明细汇总表
评论
0/150
提交评论