ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:130.08KB ,
资源ID:21483748      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21483748.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新《Java程序设计》期末上机考试试题2套及答案合集文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新《Java程序设计》期末上机考试试题2套及答案合集文档格式.docx

1、点击“按钮1”,则向文本区中追加一行字符串“java程序设计”,图(b)是点击该按钮3次后的显示结果; 点击“按钮2”,则弹出颜色选择对话框,并将选择的颜色设置为文本区中文字的颜色;点击“按钮3”,则弹出颜色选择对话框,并将选择的颜色设置为文本区的背景颜色。 (a) (b)4、请按照下面的描述编写以下两个java程序:Test4.java 和DrawPanel.java。DrawPanel是继承自面板JPanel的面板子类,面板背景颜色设置为白色,大小为400400像素,该类实现了鼠标移动监听接口,响应鼠标移动和拖动事件,拖动鼠标时,把鼠标指针形状设置为十字形状,并通过面板的paint方法在面

2、板中沿拖动路径画图(画笔的宽度设置为3.0f),为了能够将所画图形保存为jpg图片文件,首先把鼠标拖动所绘制的图形画在图像缓冲区(BufferedImage)中,然后将缓冲区的内容显示在面板中。Test4类继承自JFrame,窗口大小为400400像素,窗口标题为“第4题”,窗口内容面板的布局为边框布局(BorderLayout),中间放置绘图面板类DrawPanel的对象,Test4类中设置了菜单条,并在菜单条上添加一个菜单“File”,该菜单下有3个菜单项:“New”、“Save”和“Exit”,下图(a)所示,并按图示设置他们的快捷键。各个菜单项的事件响应按下面的描述实现:选择菜单项“N

3、ew”,则把中间面板对象的背景色设置为白色,清除所画图形;选择菜单项“Save”,则弹出文件保存对话框(JFileChooser),把中间面板中所画图形保存为jpg文件,下图(b)所示;选择菜单项“Exit”,则退出程序的运行。Java程序设计课程 期末机考卷A参考答案(200x200x学年 第x学期)_专业_年级 本 专科 A卷 B卷 C卷1(25分)参考程序:import java.awt.*;import javax.swing.*;import java.util.*;public class Test1 extends JFrame JTextArea text; public Te

4、st1(String s) super(s); Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout( ); text=new JTextArea(10,20); / String str=new String5; String s1=排序前:n; for(int i=0;istr.length;i+) stri=JOptionPane.showInputDialog(请输入字符串); s1+=stri+t text.setText(s1); Arrays.sort(str); Stri

5、ng s2=n排序后: s2+=stri+ text.append(s2); contentPane.add(text,BorderLayout.CENTER); setSize(400,160); setVisible(true); public static void main (String args) Test1 w=new Test1(第一题2、(25分)参考程序:import java.io.*;public class Test2 public static void main(String args)throws IOException File file1=new File(

6、d:xxxyyyzzz file1.mkdirs(); File file2=new File(file1,1.txt file2.createNewFile(); String s=I like java. byte b=s.getBytes(); FileOutputStream out=new FileOutputStream(file2); out.write(b); for(char ch=ach=zch+) out.write(ch); out.close(); / FileInputStream readfile=new FileInputStream(file2); int b

7、1; while(b1=readfile.read()!=-1) System.out.print(char)b1); readfile.close();3、(25分)参考程序:import java.awt.event.*;public class Test3 extends JFrame /文本区 JButton btn=new JButton3; public Test3(String str) super(str); contentPane.setLayout(new BorderLayout(); text=new JTextArea(20,20); text.setFont(new

8、 Font(楷体_gb2312,Font.PLAIN,30);/将文本区添加到窗口中间 JPanel panel=new JPanel();/创建缺省布局方式(FlowLayout)的面板btn.length;i+)/初始化5个按钮并添加到面板中 btni=new JButton(按钮+(i+1);/循环创建5个按钮 panel.add(btni);/将按钮添加到面板中 / btn0.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) text.append(java程序设计n );

9、 btn1.addActionListener(new ActionListener() Color cr=JColorChooser.showDialog(null,调色板,Color.red); text.setForeground(cr); btn2.addActionListener(new ActionListener() text.setBackground(cr); contentPane.add(panel,BorderLayout.NORTH);/将面板添加到窗口北边 setSize(400,300); public static void main(String args)

10、 new Test3(第3题4、(25分)参考程序: import java.awt.event.*; import javax.swing.*; import java.awt.image.BufferedImage; import java.io.*; import com.sun.image.codec.jpeg.*; public class Test4 extends JFrame DrawPanel drawPanel; public Test4() super(第4题 Container contentPane = this.getContentPane(); drawPanel

11、=new DrawPanel(); contentPane.add(drawPanel,BorderLayout.CENTER); JMenu myMenu=buildMenu(); /菜单条 JMenuBar menuBar = new JMenuBar(); /创建菜单条 setJMenuBar(menuBar);/设置窗口具有菜单条 menuBar.add(myMenu); /菜单添加到菜单条 this.setSize(400,400); this.setVisible(true); private JMenu buildMenu() /菜单 JMenu fileMenu = new J

12、Menu(File /菜单 fileMenu.setMnemonic(KeyEvent.VK_F); /设置快捷键:ALT+F /菜单项 New JMenuItem fileNew= new JMenuItem( /菜单项 fileNew.setMnemonic(KeyEvent.VK_N); fileNew.addActionListener(new ActionListener()/菜单项事件处理 public void actionPerformed(ActionEvent e) /设置文本区字体大小 drawPanel.state=DrawPanel.CLEAR; drawPanel.

13、repaint(); fileMenu.add(fileNew);Save JMenuItem fileSave= new JMenuItem( fileSave.setMnemonic(KeyEvent.VK_S); fileSave.addActionListener(new ActionListener()/菜单项事件处理 saveJPG(drawPanel.buffImage); fileMenu.add(fileSave);Exit JMenuItem fileExit= new JMenuItem( fileExit.setMnemonic(KeyEvent.VK_X); file

14、Exit.addActionListener(new ActionListener()/菜单项事件处理 System.exit(0); fileMenu.add(fileExit); return fileMenu; /自定义方法:打开保存文件对话框,保存缓冲区数据为jpg图像文件 private void saveJPG(BufferedImage buffImage) JFileChooser filechooser=new JFileChooser(./ /文件选择器:当前目录 int result=filechooser.showSaveDialog(this); /显示保存文件选择对

15、话框 if(result=filechooser.APPROVE_OPTION) /点击对话框的保存按钮 File file=filechooser.getSelectedFile(); /得到保存文件对象 try FileOutputStream out=new FileOutputStream(file); /创建字节输出流 /将字节输出流out接上JPG编码器对象encoder JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out); encoder.encode(buffImage); /图像数据编码并输出到文件file保存

16、/关闭流 catch(IOException ee) ee.printStackTrace(); else if(result=filechooser.CANCEL_OPTION) /点击对话框的撤消 JOptionPane.showMessageDialog(null, 图片没有保存, 提示信息,JOptionPane.PLAIN_MESSAGE ); public static void main(String args) new Test4(); /DrawPanel.javaimport java.awt.image.BufferedImage; /程序中用到缓冲区画图import j

17、ava.util.ArrayList; /使用ArrayList保存鼠标拖动路径上的所有点public class DrawPanel extends JPanel implements MouseMotionListener int width=400,height=400; static final int DRAW=1,CLEAR=2; int state=0; ArrayList array=new ArrayList();/保存鼠标移动路径上的点坐标 BufferedImage buffImage;/图像缓冲区 Graphics2D gg;/图像缓冲区画笔 public DrawPa

18、nel() /构造方法 setBackground(Color.white);/设置面板背景色为白色 /创建图像缓冲区,大小为480、400 buffImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB ); gg = buffImage.createGraphics();/创建缓冲区画笔 gg.setColor(Color.white); /设置缓冲区画笔颜色 gg.fillRect(0,0,width,height); /画缓冲区的白色背景 addMouseMotionListener(this); /对面板

19、增加鼠标监听 /把鼠标拖动路径上的点先画在缓冲区中,再把缓冲区画在在面板中 public void paint( Graphics g ) super.paint(g); gg.setColor(Color.red); Graphics2D g2d=(Graphics2D)g;/把父类对象强制转化为子类对象 if(state=DRAW)/state值为1,表示画图 gg.setStroke(new BasicStroke(3.0f);/设置缓冲区画笔的宽度 Point p1,p2;/声明两个点类对象 array.size()-1;i+) /循环array的所有点 p1=(Point)array

20、.get(i); /得到第1个点 p2=(Point)array.get(i+1); /得到相邻的下一个点 gg.drawLine(p1.x,p1.y,p2.x,p2.y);/画相邻两点间的线 else if(state=CLEAR)/state值为2,表示清除面板上的画图 gg.setColor(getBackground(); /设置缓冲区画笔为当前背景颜色white /画缓冲区为背景颜色-清除画图 /把缓冲区中的画图显示在面板上 g2d.drawImage(buffImage,0,0,width,height,this); public Dimension getPreferredSiz

21、e() return new Dimension(width, height);/面板显示大小为450400像素 /鼠标移动时:清空array中所有元素,为下一次拖动初始化array public void mouseMoved( MouseEvent e ) /设置鼠标移动时,鼠标光标形状为:手形 setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR); array.clear(); /清空array中所有元素 /鼠标拖动时,得到拖动路径上的所有点 public void mouseDragged( MouseEvent e ) state=DRAW; /设置鼠标拖动时,鼠标光标形状为:十字形 setCu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1