java课设_用菜单按钮控制绘图
- 格式:doc
- 大小:255.89 KB
- 文档页数:19
java主窗口菜单栏设计,登录界面跳到主界面,主界面状态栏
加
摘要:
1.Java 主窗口菜单栏设计
2.登录界面跳到主界面
3.主界面状态栏加
正文:
在Java 应用程序中,设计一个美观且实用的主窗口菜单栏是提高用户体验的关键。
为了达到这个目标,我们需要进行以下三个步骤:
首先,我们需要设计Java 主窗口的菜单栏。
菜单栏通常位于窗口的顶部,为用户提供了方便的操作入口。
在设计菜单栏时,我们需要考虑应用程序的功能需求,将相关功能以菜单项的形式展示在菜单栏上。
例如,可以为文件、编辑、视图等操作设计对应的菜单项。
同时,我们还需要为菜单项添加事件监听器,以便在用户点击菜单项时执行相应的操作。
其次,我们需要实现登录界面跳转到主界面的功能。
这一功能可以通过在登录界面添加一个登录按钮来实现。
当用户点击登录按钮后,可以触发一个事件,将用户跳转到主界面。
在实际开发过程中,我们可以使用Java 的Swing 组件库来创建登录界面和主界面,从而方便地实现这一功能。
最后,我们需要为主界面添加状态栏。
状态栏通常位于窗口的底部,可以显示应用程序的一些状态信息,如当前选中的文本、当前时间等。
在Java 中,我们可以使用Swing 的JFrame 类来创建主界面,并通过setStatusText() 方法设置状态栏的文本。
这样,当用户在主界面中执行操作
时,状态栏可以实时显示相应的信息,为用户提供便捷的反馈。
综上所述,通过以上三个步骤,我们可以完成Java 主窗口菜单栏设计、登录界面跳到主界面以及主界面状态栏加的功能。
《Java程序设计基础》课程标准一、课程说明二、课程定位《Java程序设计基础》课程是面向软件与信息服务专业学生开设的必修专业课。
通过本课程的学习,能使学生掌握程序设计的基本思想与方法,掌握面向对象编程技术,常用系统类使用,图形用户界面设计,图形处理,多媒体处理,异常处理,文件和流处理,多线程技术和网络编程技术,为学生后续知识(如:Android开发技术)的学习打下基础,同时也为毕业后从事相关专业职业岗位工作具备基本计算机应用能力打下坚实的基础。
三、设计思路《Java程序设计基础》是一门实践性很强的课。
Java语言作为一门经典的面向对象高级程序设计语言其优势在于网络程序设计。
《Java程序设计基础》课程主要侧重于面向对象程序设计和简单网络程序设计实践能力的培养。
该课程的任务,不只是为了要求学生学会使用某种特定的语言,更重要的是要求学生学习面向对象的软件设计思想,以此拓展学生的软件设计的思维空间,训练学生的软件设计的实际开发能力。
在教学过程中注重培养提高学生的职业岗位技能和职业素质,力求达到岗位技能和职业标准。
教学要求在每一章教学内容之后给出,大体分为三个层次:了解、掌握和熟练掌握。
它们的含义大致为:了解就是掌握概念,掌握就是能够理解和分析现有知识,熟练掌握就是会运用所学知识解决实际问题。
四、课程培养目标(一)专业能力1.通过学习使得学生掌握Java开发工具,掌握面向对象程序的基本结构,能够完成基本类的设计和应用。
2.掌握程序设计的基础:基本的数据类型,运算符、表达式和语句。
3.掌握程序设计的结构、设计方法。
4.掌握数组和字符串的使用。
5.掌握继承的概念、能够正确地实现继承。
6.能够准确地理解接口,掌握接口的设计和实现方法。
7.理解异常处理的概念,能够准确地应用异常的处理方法,在未来工作中处理不同异常。
8.掌握集合类的概念和使用方法。
9.掌握图形界面的设计方法,掌握不同组件的功能和使用方法,掌握布局的设计方法。
jav课程设计内容一、教学目标本节课的教学目标是让学生掌握Java编程语言的基本语法和编程思想,学会使用Java编写简单的控制台应用程序。
具体分为以下三个部分:1.知识目标:(1)了解Java语言的基本语法和数据类型。
(2)掌握Java程序的结构和编写方法。
(3)理解面向对象编程的基本概念,如类、对象、封装、继承和多态。
2.技能目标:(1)能够使用Java编写简单的控制台应用程序。
(2)学会使用Java编写面向对象的程序,具备初步的编程能力。
3.情感态度价值观目标:培养学生对编程语言的兴趣,激发学生主动学习和探索编程的欲望,培养学生的团队协作精神和自主学习能力。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据类型。
2.Java程序的结构和编写方法。
3.面向对象编程的基本概念,如类、对象、封装、继承和多态。
4.编写简单的控制台应用程序,巩固所学知识。
三、教学方法为了更好地实现教学目标,本节课采用以下几种教学方法:1.讲授法:讲解Java语言的基本语法、数据类型和程序结构。
2.案例分析法:通过分析实例,使学生掌握面向对象编程的基本概念。
3.实验法:让学生动手编写控制台应用程序,巩固所学知识。
4.讨论法:鼓励学生积极参与课堂讨论,培养学生的团队协作精神。
四、教学资源为了保证教学效果,本节课准备以下教学资源:1.教材:《Java编程入门》2.参考书:《Java核心技术》3.多媒体资料:PPT课件、教学视频4.实验设备:计算机、网络环境5.在线编程平台:例如LeetCode、牛客网,供学生课后练习和提高编程能力。
五、教学评估为了全面、客观地评估学生的学习成果,本节课采用以下几种评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和基本素养。
2.作业:布置适量作业,要求学生在规定时间内完成,通过作业质量评估学生的掌握程度。
3.考试:安排一次课堂小测,测试学生对Java基本语法和编程思想的掌握情况。
java课程设计实验报告一一实验目的加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。
在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。
在对Java程序的调试过程中,提高学生分析程序中出现的错误与排除这些错误的能力。
通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。
二、实验要求(1)问题描述准确、规范;(2)程序结构合理,调试数据准确、有代表性;(3)界面布局整齐,人机交互方便;(4)输出结果正确;(5)正确撰写实验报告。
三、设计内容11、计算器计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算与混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。
允许正负数间的运算。
要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。
22、文本编辑器可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。
其她功能参照windows的文本编辑器。
四四.实验步骤(1)上机实验之前,为课程设计的内容作好充分准备。
对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。
(2)按照实验目的与实验内容进行上机操作。
录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。
(3)根据实验结果,写出实验报告。
五、、源代码及运行结果1.计算器源代码importjava、awt、*;importjava、awt、event、*;importjava、lang、*;importjavax、swing、*;publicclassjisuanqiextendsWindowAdapter{//创建三个面板Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();TextFieldtxt;privateButton[]b=newButton[21];privateStringss[]={"7","8","9","/","清空","4","5","6","*","1/x","1","2","3","-","平方","0","、","=","+","n!","关闭"};staticdoublea,sum=1;staticStrings,str;//定义变量创建对像//创建文本框publicstaticvoidmain(Stringargs[]){(newjisuanqi())、frame();}publicvoidframe(){//设置文本框的名称Framefm=newFrame("简单计算器");for(inti=0;i<=20;i++){b[i]=newButton(ss[i]);}for(inti=0;i<=19;i++){p2、add(b[i]);//创建按钮并添加到P2}//按钮20背景色黄色b[20]、setBackground(Color、yellow);txt=newTextField("");txt、setEditable(false);//不能编辑文本框里面的内容txt、setBackground(Color、white);for(inti=0;i<=20;i++){b[i]、addActionListener(newbuttonlistener());//添加监听器}//设置关闭按钮b[20]、addActionListener(newclose());fm、addWindowListener(this);p1、setLayout(newBorderLayout());//设置布局管理器p1、add(txt,"North");//p1面板放到区域南部p2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二p2、setBackground(Color、red);p3、setLayout(newBorderLayout());p3、add(b[20]);将三个面板分别放到不同位置fm、add(p1,"North");fm、add(p2,"Center");fm、add(p3,"South");fm、pack();fm、setVisible(true);//都就是些窗中设置添加相关组件与监听器}publicvoidwindowClosing(WindowEvente){System、exit(0);//退出系统}classbuttonlistenerimplementsActionListener{//编写监听器事件通过按键得出给果publicvoidactionPerformed(ActionEvente){Buttonbtn=(Button)e、getSource();if(btn、getLabel()=="="){jisuan();str=String、valueOf(a);txt、setText(str);//显示当前数字s="";//清零}elseif(btn、getLabel()=="+"){//设置一个方法jisuan();txt、setText("");s="+";}elseif(btn、getLabel()=="-"){jisuan();txt、setText("");s="-";}elseif(btn、getLabel()=="/"){jisuan();txt、setText("");s="/";}elseif(btn、getLabel()=="*"){jisuan();txt、setText("");s="*";}elseif(btn、getLabel()=="平方"){a=Double、parseDouble(txt、getText()); a*=a;txt、setText(""+String、valueOf(a)); }elseif(btn、getLabel()=="n!"){a=Double、parseDouble(txt、getText());sum=1;for(inti=1;i<=a;i++)sum=sum*i;txt、setText(""+String、valueOf(sum));}elseifbtn、getLabel()=="1/x"){a=Double、parseDouble(txt、getText());txt、setText(""+String、valueOf(1/a));}else{txt、setText(txt、getText()+btn、getLabel()); if(btn、getLabel()=="清空")txt、setText("");}}publicvoidjisuan(){//编写具体计算方法if(s=="+")a+=Double、parseDouble(txt、getText()); elseif(s=="-")a-=Double、parseDouble(txt、getText()); elseif(s=="*")a*=Double、parseDouble(txt、getText()); elseif(s=="/")a/=Double、parseDouble(txt、getText()); elsea=Double、parseDouble(txt、getText()); }}}classcloseimplementsActionListener {//退出publicvoidactionPerformed(ActionEvente) {System、exit(0);}}、2、计算器运行界面(11)计算器主界面(22)面板的实现11、创建三个面板分别就是显示数字的面板、按钮的面板与“关闭”的面板Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();22、创建一个文本框参数TextFieldtxt;33、创建一群按钮参数并给按钮赋值privateButton[]b=newButton[21];privateStringss[]={"7","8","9","/","清空","4","5","6","*","1/x","1","2","3","-","平方","0","、","=","+","n!","关闭"};44、创建文本框publicstaticvoidmain(Stringargs[]){(newjisuanqi())、frame();}55、设置文本框方法publicvoidframe(){//设置文本框的名称Framefm=newFrame("简单计算器");66、设置按钮for(inti=0;i<=20;i++){b[i]=newButton(ss[i]);}77、设将按钮添加到面板for(inti=0;i<=19;i++){p2、add(b[i]);//创建按钮并添加到P2}88、设置按钮020背景色黄色b[20]、setBackground(Color、yellow);99、创建文本框,,并规定不能编辑内容与背景为白色txt=newTextField("");txt、setEditable(false);txt、setBackground(Color、white);10、为按钮添加监听器for(inti=0;i<=20;i++){b[i]、addActionListener(newbuttonlistener());//添加监听器}11、设置“关闭”按钮可以关闭界面并设置监听器b[20]、addActionListener(newclose());fm、addWindowListener(this);12、设置布局p1、setLayout(newBorderLayout());//设置布局管理器p1、add(txt,"North");//p1面板放到区域南部p2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二p2、setBackground(Color、red);p3、setLayout(newBorderLayout());p3、add(b[20]);13、将三个面板分别放到不同位置fm、add(p1,"North");fm、add(p2,"Center");fm、add(p3,"South");fm、pack();fm、setVisible(true);//都就是些窗中设置添加相关组件与监听器}14、退出系统publicvoidwindowClosing(WindowEvente){System、exit(0);}(33)将按钮添加到计算这个事件中11、编写监听器事件通过按键得出给果publicvoidactionPerformed(ActionEvente){//将按钮赋予这个事件中Buttonbtn=(Button)e、getSource();22、如果点击“==”这个按钮,,将出现当前数字if(btn、getLabel()=="="){jisuan();str=String、valueOf(a);txt、setText(str);//显示当前数字s="";//清零}33、如果点击“++”“--”“**”“//”分别完成一个方法并将结果显示到文本框elseif(btn、getLabel()=="+"){//设置一个方法jisuan();txt、setText("");s="+";}elseif(btn、getLabel()=="-") {jisuan();txt、setText("");s="-";}elseif(btn、getLabel()=="/") {jisuan();txt、setText("");s="/";}elseif(btn、getLabel()=="*"){jisuan();txt、setText("");s="*";}44、如果点击“平方”则当前数字与原数字形成即完成相关方法结果显示最终的数字elseif(btn、getLabel()=="平方"){a=Double、parseDouble(txt、getText());a*=a;txt、setText(""+String、valueOf(a));//显示a}55、当输入“nn!”,,就用rfor循环完成阶乘,,此方法属于cc语言基础方法,,不做相关解释elseif(btn、getLabel()=="n!"){a=Double、parseDouble(txt、getText());sum=1;//归一for(inti=1;i<=a;i++)sum=sum*i;txt、setText(""+String、valueOf(sum));//文本框中显示“sum”的数值}66、当输入“1/x”时,,显示1/a。
大二java课程设计swing一、教学目标本课程的教学目标是使学生掌握Java编程语言中的Swing图形用户界面(GUI)开发技术。
通过本课程的学习,学生将能够:1.理解Swing组件的基本原理和用法,如JFrame、JButton、JTextField等。
2.熟练使用布局管理器,如FlowLayout、BorderLayout、GridLayout等,来设计窗口布局。
3.掌握事件处理机制,能够编写事件监听器来响应用户操作。
4.能够使用Swing绘图工具类,如Graphics、Graphics2D等,实现简单的图形绘制。
5.理解菜单栏、工具栏、状态栏等高级组件的使用方法。
6.掌握多线程编程的基本概念,能够利用Swing实现多线程应用。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Swing概述:介绍Swing的发展历程、特点和基本使用方法。
2.Swing组件:详细讲解常用的Swing组件,如按钮、文本框、列表、组合框等。
3.布局管理器:介绍各种布局管理器的原理和用法,并通过实例展示如何设计美观的窗口布局。
4.事件处理:讲解事件监听器的原理和用法,以及如何处理用户输入事件、动作事件等。
5.绘图技术:介绍Swing的绘图工具类,如Graphics、Graphics2D等,并通过实例展示如何绘制基本图形和图像。
6.高级组件:讲解菜单栏、工具栏、状态栏等高级组件的使用方法,以及如何实现菜单项的勾选效果。
7.多线程编程:介绍多线程编程的基本概念,讲解如何在Swing应用程序中实现多线程,以及线程同步的方法。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用以下教学方法:1.讲授法:教师讲解Swing的基本概念、原理和用法,引导学生理解并掌握相关知识。
2.案例分析法:通过分析典型实例,让学生了解Swing组件的应用场景和实现方法。
3.实验法:安排上机实验,让学生动手实践,巩固所学知识,提高编程能力。
《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。
(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。
首先是标准型的记事本,拥有文件、编辑。
格式和帮助。
如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。
如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。
如图三所示。
图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。
如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。
如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。
如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。
《Java程序设计》课程教学大纲课程编号:08120031课程名称:Java程序设计/JAVA Programming总学时/学分:48/3(其中理论32学时,实验16学时)适用专业:计算机科学与技术一、课程目标通过本课程学习,学生应达到如下目标:目标1. 识别Java语言特点、基本语法、语言机制。
目标2. 将面向对象方法知识运用在程序设计案例中,能使用JAVA常用类、枚举、lambda 表达式、容器、泛型进行实例编程验证。
目标3. 利用JavaSE中的异常处理、输入输出等技术来表达处理程序应用问题。
目标4. 将图形用户界面和数据库编程技术运用中综合应用程序设计中。
目标5. 搭建Java开发环境,能设计实现各种Java技术的应用程序,且能测试运行。
二、课程目标对毕业要求的支撑三、教学过程安排四、实验或上机内容五、课程目标达成方法六、考核标准本门课程考核包括6个部分,分别为考试、作业、实验、讨论和测验。
具体要求及评分方法如下:1、期末考试试卷知识点要求2、作业3、实验4、讨论设置讨论课一次,要求学生按照讨论题目分组查阅资料,归纳总结,撰写报告。
5、测验随堂测验,老师给出题目,学生回答。
具体有任课老师给出评分标准。
七、教材及主要参考资料[1] 黑马程序员. Java基础入门(第2版)[M]. 清华大学出版社, 2018.[2] 郑人杰、马素霞、殷人昆. 软件工程概论(第2版)[M]. 机械工业出版社,2016.[3] Gay S.Horstmann. Java核心技术(第10版)[M]. 机械工业出版社,2016.[4] Y.Daniel Liang(美). Java语言程序设计(第10版)[M]. 机械工业出版社.2015.[5] 李刚. 疯狂Java讲义(第4版)[M]. 电子工业出版社,2018.[6] 封亚飞. 揭秘Java虚拟机[M]. 电子工业出版社,2017.[7] Bruce Eckel(美). Java编程思想(第4版)[M]. 机械工业出版社,2007.。
Java语言课程设计任务书一、Java语言课程设计目的和要求1.目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;3)培养学生在项目开发中的团队合作精神、创新意识及能力。
2.要求:1)对系统进行需求分析及可行性分析系统实现的目的,项目开发的背景,系统要达到的目标,开发系统所用的开发环境,预期使用的用户等。
2)对系统进行总体设计分析系统的功能结构模块,并给出系统的功能结构图,分析系统的数据流程图,并给出系统的数据流程图,设计要符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。
3)详细设计①分析系统实体,画出每个实体的E-R图。
②设计所需的数据表,给出所需数据表的字段名称,数据类型,字符长度,字段说明,约束条件。
③编码实现每个子功能模块,并进行测试。
4)系统总结。
二、Java语言课程设计选题如下:可选题目如下:服装进销存管理系统,学生信息管理系统,教务信息管理系统,银行储蓄管理系统,飞机订票管理系统,酒店管理系统,手机缴费管理系统,药店销售管理系统,公司员工工资管理系统,房地产售房管理系统,电脑销售管理系统,派出所户籍管理系统等。
1.分配人数,每组设组长一名,负责该组设计工作的协调、分工等。
2.设计过程:1) 分析设计准备阶段(按组讨论、对系统功能进行分析,确定算法,并进行明确分工);2) 编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)3) 总结报告和书写说明书阶段(撰写上交相关资料)3、考核过程16周周六上午答辩。
三、考核内容和方式1、在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。
设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。
javapaint方法在Java中,可以使用paint方法来实现对组件进行绘制的功能。
paint方法是Swing组件中的一个方法,用于进行组件的绘制操作。
下面将详细介绍Java的paint方法。
首先,paint方法是在组件需要被重绘时由Java虚拟机自动调用的,应用程序通常无需自己调用paint方法。
在组件首次显示时或需要进行重绘时,paint方法将自动被调用。
paint方法的方法签名如下:```public void paint(Graphics g)```paint方法的参数是一个Graphics对象,它提供了一系列的绘图方法用于完成绘制操作。
在paint方法中,通常需要完成以下几个步骤:1. 获取Graphics对象:用于绘制的Graphics对象可以通过paint方法的参数获取,此时可以使用Graphics对象的各种方法来完成绘制操作。
2. 设置绘图属性:在开始绘制之前,通常需要设置一些绘画属性,比如绘图颜色、线条粗细等。
Graphics对象提供了一系列用于设置绘画属性的方法,比如setColor、setStroke等。
3. 进行绘制操作:在绘制之前,需要确定绘制的内容和位置。
根据需要,可以使用Graphics对象的各种绘图方法,如drawLine、drawRect、fillRect等来绘制需要的图形。
4. 释放资源:绘制操作完成后,通常需要释放绘图资源,以便其他组件或画布进行绘制操作。
可以通过Graphics对象的dispose方法来释放绘图资源。
下面是一个简单的示例代码,展示了如何在一个JPanel类中使用paint方法进行绘制操作:```javaimport javax.swing.*;import java.awt.*;public class MyPanel extends JPanelpublic void paint(Graphics g)super.paint(g);//设置绘图属性g.setColor(Color.RED);//绘制操作g.drawLine(10, 10, 100, 100);g.drawRect(50, 50, 100, 100);g.fillRect(200, 200, 100, 100);//释放资源g.dispose(;}```在上面的代码中,首先继承了JPanel类,并重写了其paint方法。
JAVA程序设计课程考试试卷专升本考研期末考试真题参考题⽬(⼀)参考答案最近很多⼈私信问我,答案没有,现在我将这个贴在这⾥:1.使⽤Java语⾔编写的源程序保存时的⽂件扩展名是( B )。
(A).class (B).java (C).cpp (D).txt2.设int a=-2,则表达式a>>>3的值为( C )。
(A)0 (B)3 (C)8 (D)-13.设有数组的定义int[] a = new int[3],则下⾯对数组元素的引⽤错误的是( C )。
(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i];4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。
(A)封装 (B)继承 (C)覆盖 (D)重载5.在类的定义中构造函数的作⽤是( D )。
(A)保护成员变量 (B)读取类的成员变量 (C)描述类的特征 (D)初始化成员变量6.下⾯关键字中,哪⼀个不是⽤于异常处理语句( B )。
(A)try (B)break (C)catch (D)finally7.类与对象的关系是( A )。
(A)类是对象的抽象 (B)对象是类的抽象 (C)对象是类的⼦类 (D)类是对象的具体实例8.下⾯哪⼀个是Java中不合法的标识符( D )。
(A)$persons (B)twoNum (C)_myVar (D)point9.为AB类的⼀个⽆形式参数⽆返回值的⽅法method书写⽅法头,使得使⽤类名AB作为前缀就可以调⽤它,该⽅法头的形式为( A )。
(A)static void method( ) (B)public void method( )(C)final void method( ) (D)abstract void method( )10.欲构造ArrayList类的⼀个实例,此类继承了List接⼝,下列哪个⽅法是正确的( B )。
功能综述复习、巩固Java 语言的基础知识进一步加深对Java 语言的理解和掌握课程设计为学生提供了一个既动手又动脑、独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力,培养学生在项目开发中团队合作精神、创新意识及能力。
实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小可在程序中设定)。
(一) 分析与设计说明 本学期对于java 语言的学习,本程序运用图形界面和绘图功能,均已学过利用Eclipse 工具,采用java 语言解决问题。
运行程序,输入图形类型,并输入两个坐标参数(不超过界面的大小),再选择程序界面上方相应所需的菜单选项或下方的按钮,得到所需图形,完成功能的实现。
用菜单和按钮控制绘图程序设置图形参数 菜单绘制图形 按钮绘制图形直线空心椭圆实心椭圆空心矩形实心矩形多边形主菜单多边形 椭圆矩形直线 直线多边形空心椭圆实心椭圆空心矩形 实心矩形(二)代码分析/图形界面的实现(图形界面包括2个标签,4个菜单,6个按钮,5个文本组件)//导入程序所需要的包import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Draw extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L;private static final int WIDTH=600;private static final int HEIGHT=600;JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;JMenuItem item1,item2,item3,item4,item5,item6;JButton button1,button2,button3,button4,button5,button6;JLabel label1;Mypanel pane1=new Mypanel();DrawCanvas JD=null;//将图形界面设为名为“控制绘图”且长宽都为600的图形界面。
public Draw(){super("控制绘图");setSize(WIDTH,HEIGHT);Container c=getContentPane();JD=new DrawCanvas();JPanel pane2=new JPanel();Compent(c, pane2);}private void Compent(Container c, JPanel pane2) {menubar=new JMenuBar();menu1=new JMenu("直线");menu2=new JMenu("椭圆");menu3=new JMenu("矩形");menu4=new JMenu("多边形");item1=new JMenuItem("直线");item2=new JMenuItem("空心椭圆");item3=new JMenuItem("实心椭圆");item4=new JMenuItem("空心矩形");item5=new JMenuItem("实心矩形");item6=new JMenuItem("多边形");item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);item5.addActionListener(this);item6.addActionListener(this);label1=new JLabel("");menu1.add(item1);menu2.add(item2);menu2.addSeparator();menu2.add(item3);menu3.add(item4);menu3.addSeparator();menu3.add(item5);menu4.add(item6);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);menubar.add(menu4);setJMenuBar(menubar);button1=new JButton("直线");button2=new JButton("空心椭圆");button3=new JButton("实心椭圆");button4=new JButton("空心矩形");button5=new JButton("实心矩形");button6=new JButton("多边形");pane2.add(button1);pane2.add(button2);pane2.add(button4);pane2.add(button6);pane2.add(label1);pane2.add(button3);pane2.add(button5);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);button6.addActionListener(this);c.add(pane1,BorderLayout.NORTH);c.add(pane2,BorderLayout.SOUTH);c.add(JD,BorderLayout.CENTER);pane2.setLayout(new GridLayout(2,5,20,10));}/*Draw继承了JFrame,因此可以显示,首先声明标签、菜单、按钮和一个JFrame窗口。
然后通过构建标签、菜单、按钮菜单项添加到菜单中。
标签、菜单、按钮添加到窗口容器中,设置容器的大小及添加按钮和菜单事件监听者。
*//*处理事件监听器事件*/public void actionPerformed(ActionEvent e) {int x1,y1,x2,y2;x1=Integer.parseInt(pane1.getA().getText());y1=Integer.parseInt(pane1.getB().getText());x2=Integer.parseInt(pane1.getC().getText());y2=Integer.parseInt(pane1.getD().getText());int x3[]={280,120,50,90,210,280};int x4[]={20,50,100,110,70,20};int n=5;//当监听器监听到鼠标点击菜单项实心椭圆时,绘制实心椭圆图形else if(e.getSource()==item3){if(JD!=null) {JD.setLine(0);JD.setOval(0);JD.setfillOval(1);JD.setRect(0);JD.setfillRect(0);JD.setPolygon(0);JD.setPosition(x1,y1,x2,y2);JD.repaint();}}//当监听器监听到鼠标点击菜单项直线时,绘制直线图形//当监听器监听到鼠标点击菜单项空心椭圆时,绘制空心椭圆图形//当监听器监听到鼠标点击菜单项空心矩形时,绘制空心矩形图形//当监听器监听到鼠标点击菜单项实心矩形时,绘制实心矩形图形//当监听器监听到鼠标点击菜单项多边形时,绘制多边形图形//当监听器监听到鼠标点击按钮直线时,绘制直线图形if(e.getSource()==button1){if(JD!=null) {JD.setLine(1);JD.setOval(0);JD.setfillOval(0);JD.setRect(0);JD.setfillRect(0);JD.setPolygon(0);JD.setPosition(x1,y1,x2,y2);JD.repaint();}}//当监听器监听到鼠标点击按钮空心椭圆时,绘制空心椭圆图形//当监听器监听到鼠标点击按钮实心椭圆时,绘制实心椭圆图形//当监听器监听到鼠标点击按钮空心矩形时,绘制空心矩形图形//当监听器监听到鼠标点击按钮实心矩形时,绘制实心矩形图形//当监听器监听到鼠标点击按钮多边形时,绘制多边形图形//3.主函数的实现://在主函数中创建了一个jf窗口用于产生图形界面。
设置其可见和大小不可改变属性 public static void main(String []args){JFrame jf=new Draw();jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setResizable(false);jf.setVisible(true);}}//图形绘制的实现//导入该程序所需要的包import java.awt.*;import javax.swing.*;//DrawCanvas实现图形的绘制(直线空心椭圆实心椭圆空心矩形实心矩形多边形)。
public class DrawCanvas extends JPanel{private static final long serialVersionUID = 1L;int x1,y1,x2,y2;int line,oval,filloval,rect,fillrect,polygon;int x3[],x4[],n;public void setPosition(int x1,int y1,int x2,int y2){this.x1=x1;this.y1=y1;this.x2=x2;this.y2=y2;}public void setPolPosition(int x3[],int x4[],int n){this.x3=x3;this.x4=x4;this.n=n;}public void setLine(int line){this.line=line;}public void setOval(int oval){this.oval=oval;}public void setfillOval(int filloval){this.filloval=filloval;}public void setRect(int rect){this.rect=rect;}public void setfillRect(int fillrect){this.fillrect=fillrect;}public void setPolygon(int polygon){this.polygon=polygon;}public void paintComponent(Graphics g){g.setColor(getBackground());g.fillRect(0,0,this.getWidth(),this.getHeight());g.setColor(Color.black);if(line==1){g.drawLine(x1,y1,x2,y2);}else if(oval==1){g.drawOval(x1, y1, x2, y2);}else if(filloval==1){g.fillOval(x1,y1,x2,y2);}else if(rect==1){g.drawRect(x1, y1, x2, y2);}else if(fillrect==1){g.fillRect(x1,y1,x2,y2);}else if(polygon==1){g.drawPolygon(x3,x4,n);}}}//设置参数的实现//导入程序所需的包import java.awt.*;import javax.swing.*;//Mypanel类中声明了标签并使得通过创建该类的实例将其添加到图形界面中public class Mypanel extends JPanel {private static final long serialVersionUID = 1L;Label label1,label2,label3,label4;TextField a,b,c,d,x;Mypanel(){label2=new Label("请输入:");label1=new Label("参数");/*参数最大可设置4位不过上面的图像界面中设置的大小为600600。