实验6 图形用户界面和Applet编程实验计算机.docx

上传人:b****3 文档编号:3494431 上传时间:2022-11-23 格式:DOCX 页数:18 大小:134.98KB
下载 相关 举报
实验6 图形用户界面和Applet编程实验计算机.docx_第1页
第1页 / 共18页
实验6 图形用户界面和Applet编程实验计算机.docx_第2页
第2页 / 共18页
实验6 图形用户界面和Applet编程实验计算机.docx_第3页
第3页 / 共18页
实验6 图形用户界面和Applet编程实验计算机.docx_第4页
第4页 / 共18页
实验6 图形用户界面和Applet编程实验计算机.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

实验6 图形用户界面和Applet编程实验计算机.docx

《实验6 图形用户界面和Applet编程实验计算机.docx》由会员分享,可在线阅读,更多相关《实验6 图形用户界面和Applet编程实验计算机.docx(18页珍藏版)》请在冰豆网上搜索。

实验6 图形用户界面和Applet编程实验计算机.docx

实验6图形用户界面和Applet编程实验计算机

实验6图形用户界面和Applet编程实验

一、实验目的:

1.掌握Java中图形用户界面的编程

2.掌握布局管理器和事件的响应方法。

3.掌握Applet多媒体开发方法

二、实验环境(硬/软件要求):

通过局域网互联,安装Windows2000/XP操作系统环境的JDK1.5.0(或以上版本),

JcreaterPro或JBuilder9、eclipse。

三、实验内容:

编写简单的图形用户界面并进行事件处理;编写程序熟悉常见组件的使用;编写程序进行图形化显示;编写程序进行Applet多媒体开发。

四、实验主要步骤:

1编写一个算数测试小软件。

点击获取题目进行随机出题,点击确认答案判断答题正确与否。

一次可出多题,可以判断答案对错。

 

2编写一个班级推选优秀生的软件,可列出参与推优的学生名单,能够显示当前投票人数以及每名候选者得票数,如果同时能够图形化显示得票数更佳。

3编写一个程序,画出一辆小车图案。

思考是否能让小车平行移动?

如何移动?

4编写一个Applet程序,在网页中同时显示自己的生活照和播放一段音乐。

五、实验报告形式(纸质/电子):

1.纸质(实验报告),可打印。

试验结果截图打印出来,附在试验报告后

2.电子(程序源代码、运行结果)

3.回答下述问题

有几种窗体布局管理器,各有何不同?

六、评分标准:

1.能否自如地设计完成要求验证的内容。

异常的处理是否恰当。

2.程序设计的风格,是否规范。

3.各个程序的源代码,要求对代码行进行适当地注释说明;

4.上机实验的态度是否认真,实验报告书写是否规范完整。

1、

importjava.awt.BorderLayout;

importjava.awt.Color;

importjava.awt.Container;

importjava.awt.FlowLayout;

importjava.awt.Font;

importjava.awt.GridLayout;

importjava.awt.Label;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.util.Random;

importjavax.swing.*;

importjavax.swing.GroupLayout.Alignment;

 

classrandomtimu

{

doublex1;

doublex2;

charyunsuan;

finalchar[]Yun=newchar[]{'+','-','*','/'};

doubleresult;

StringerrorString="";

publicrandomtimu()

{

x1=Math.random()*100;

x2=Math.random()*100;

yunsuan=Yun[(int)(Math.random()*4)];

switch(yunsuan)

{

case'+':

result=x1+x2;

break;

case'-':

result=x1-x2;

break;

case'*':

result=x1*x2;

break;

case'/':

if(x2==0)

{

errorString="error";

}

else{

result=x1/x2;

}

break;

default:

break;

}

}

}

publicclasstest6extendsJFrame

{

privateJPanelcontentPane;

JTextFieldjTextField=newJTextField(10);

JTextFieldjTextField3=newJTextField(10);

JTextFieldjTextField4=newJTextField(10);

JLabeljLabel=newJLabel("+",JLabel.CENTER);

JLabeljLabel2=newJLabel("=",JLabel.CENTER);

JLabeljLabel3=newJLabel("");

doubleresult=0;

publicstaticvoidmain(String[]args)

{

newtest6().setVisible(true);

}

/**

*CreatetheFrame.

*/

publictest6()

{

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Containercontainer=getContentPane();

setBounds(500,100,600,150);

setLayout(newBorderLayout());

JPaneljPanel=newJPanel();

jPanel.setLayout(newFlowLayout(FlowLayout.CENTER,10,10));

JPaneljPanel2=newJPanel();

JButtonjButton2=newJButton("确认答案");

jPanel2.add(jButton2);

JButtonjButton=newJButton("获取题目");

jPanel.add(jButton);

jPanel.add(jTextField3);

jTextField3.setSize(20,10);

jPanel.add(jLabel);

jLabel2.setFont(newFont("黑体",Font.BOLD,18));

jPanel.add(jTextField);

jPanel.add(jLabel2);

jLabel.setFont(newFont("黑体",Font.BOLD,18));

jPanel.add(jTextField4);

container.add(jPanel,BorderLayout.NORTH);

container.add(jPanel2);

jPanel2.add(jLabel3);

jButton.addActionListener(newActionListener()

{

@Override

publicvoidactionPerformed(ActionEvente)

{

randomtimurandomtimu1=newrandomtimu();

jTextField4.setText("");

jLabel3.setText("");

jTextField3.setText(String.format("%.2f",randomtimu1.x1));

jTextField.setText(String.format("%.2f",randomtimu1.x2));

jLabel.setText(randomtimu1.yunsuan+"");

if(randomtimu1.errorString.equals("error"))

{

JOptionPane.showMessageDialog(null,"除数不能为零");

}

else{

result=randomtimu1.result;

}

}

});

jButton2.addActionListener(newActionListener()

{

@Override

publicvoidactionPerformed(ActionEvente)

{

if(jTextField4.getText().equals("")||jTextField4.getText()==null)

{

JOptionPane.showMessageDialog(null,"答案不能为空");

}

else{

doublestring=Double.parseDouble(jTextField4.getText());

Stringanswer="正确结果是"+String.format("%.2f",result);

if(Math.abs(string-result)<0.01)

{

answer="答案正确"+answer;

}

else{

answer="答案错误"+answer;

}

jLabel3.setText(answer);

}

}

});

}

}

2、运动的迷你小车外加图像放大功能

importjava.awt.BorderLayout;

importjava.awt.Canvas;

importjava.awt.Container;

importjava.awt.FlowLayout;

importjava.awt.Graphics;

importjava.awt.Graphics2D;

importjava.awt.Image;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

importjavax.swing.JSlider;

importjavax.swing.WindowConstants;

importjavax.swing.event.ChangeEvent;

importjavax.swing.event.ChangeListener;

publicclassdrawcarextendsJFrame

{Graphicsg;

Containercontainer;

JSliderjsliter11=newJSlider();

ImageIconicon=newImageIcon("http:

//10.102.14.234:

8080/Classic_Car_Icons_005.png");

//我笔记本Tomcat服务器的照片;

Imageimg=icon.getImage();

JButtonjButton1=newJButton("开始");

JButtonjButton2=newJButton("暂停");

drawpicturedra;

intx1=0;

inty1=0;

Booleanflag=true;

publicdrawcar()

{

picture();

}

publicvoidpicture()

{

jsliter11.setMaximum(100);

jsliter11.setMinimum

(1);

jsliter11.setValue(5);

dra=newdrawpicture();

jsliter11.addChangeListener(newjavax.swing.event.ChangeListener()

{

publicvoidstateChanged(javax.swing.event.ChangeEvente)

{

dra.repaint();

}

});

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

setBounds(500,50,500,500);

container=getContentPane();

setTitle("迷你小车(黄开浪)");

container.add(dra,BorderLayout.CENTER);

container.add(jsliter11,BorderLayout.NORTH);

JPaneljpanel2=newJPanel();

jpanel2.setLayout(newFlowLayout(10,10,10));

jpanel2.add(jButton1);jpanel2.add(jButton2);

container.add(jpanel2,BorderLayout.SOUTH);

jButton1.addActionListener(newActionListener()

{

@Override

publicvoidactionPerformed(ActionEvente)

{

flag=true;

Threadthread=newThread(newRunnable()

{

@Override

publicvoidrun()

{

while(flag)

{

if(x1<500)

{

x1=x1+20;

}

else{

x1=0;

}

try{

Thread.sleep(100);

}

catch(InterruptedExceptione)

{

//TODO自动生成的catch块

e.printStackTrace();

}

dra.repaint();

}

}

});

thread.start();

}

});

jButton2.addActionListener(newActionListener()

{

@Override

publicvoidactionPerformed(ActionEvente)

{

flag=false;

}

});

}

classdrawpictureextendsCanvas

{

publicvoidpaint(Graphicsg)

{

super.paint(g);

Graphics2Dgd=(Graphics2D)g;

intnewx=0;

intnewy=0;

floatvalue=jsliter11.getValue();

newx=(int)(value*img.getWidth(this)/100);

newy=(int)(value*img.getHeight(this)/100);

//gd.rotate(Math.toRadians(5));

gd.drawImage(img,x1,y1,newx,newy,this);

}

}

publicstaticvoidmain(Stringargs[])

{

newdrawcar().setVisible(true);

}

}

 

3、

importjava.awt.BorderLayout;

importjava.awt.Canvas;

importjava.awt.Color;

importjava.awt.Container;

importjava.awt.FlowLayout;

importjava.awt.Graphics;

importjava.awt.Graphics2D;

importjava.awt.GridLayout;

importjava.awt.Paint;

importjava.awt.Stroke;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JOptionPane;

importjavax.swing.JPanel;

importjavax.swing.JTable;

importjavax.swing.WindowConstants;

importjavax.swing.table.DefaultTableModel;

importjavax.swing.table.TableColumn;

importjavax.swing.table.TableColumnModel;

importjavax.swing.text.StyledEditorKit.BoldAction;

 

publicclasstuiyouextendsJFrame

{

Graphicsg;

JButtonjButton1=newJButton("增加选手");

JButtonjButton3=newJButton("删除选手");

JButtonjButton2=newJButton("画图");

drawpicturedra;

DefaultTableModeldefaultModel=null;

JTablejTable1;

intx;

Stringcol[]={"人数","竞选一号","竞选二号","竞选三号"};

Stringrow[][]={{"人数","竞选一号","竞选二号","竞选三号"},{"票数","100","500","700"}};

publicvoidmain()

{

newtuiyou();

}

/*2编写一个班级推选优秀生的软件,

*可列出参与推优的学生名单,能够显示当前投票人数以及每名候选者得票数,

*如果同时能够图形化显示得票数更佳。

*/

publictuiyou()

{

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

setTitle("班级推优");

Containercn=getContentPane();

setLayout(newBorderLayout());

setBounds(500,100,850,500);

JPaneljPanel=newJPanel();

jPanel.setLayout(newGridLayout(2,1));

defaultModel=newDefaultTableModel(row,col);

jTable1=newJTable(defaultModel);

jPanel.add(jTable1.getTableHeader());

jPanel.add(jTable1);

cn.add(jTable1,BorderLayout.NORTH);

dra=newdrawpicture();

cn.add(dra,BorderLayout.CENTER);

JPaneljPanel2=newJPanel();

jPanel2.setLayout(newFlowLayout(FlowLayout.CENTER));

jPanel2.add(jButton1);jPanel2.add(jButton3);jPanel2.add(jButton2);

cn.add(jPanel2,BorderLayout.SOUTH);

System.out.println(dra.WIDTH+","+dra.HEIGHT);

x=jTable1.getColumnCount()-1;

jButton1.addActionListener(newActionListener()

{

@Override

publicvoidactionPerformed(ActionEvente)

{

x=x+1;

defaultModel.addColumn("竞选"+(x)+"号");

defaultModel.setValueAt(""+"竞选"+(x)+"号",0,x);

defaultModel.setValueAt("0",1,x);

}

});

jButton2.addActionListener(newActionListener()

{

@Override

publicvoidactionPerformed(ActionEvente)

{

dra.repaint();

}

});

jButton3.addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

x=x-1;

intcolumncount=defaultModel.getColumnCount()-1;

if(columncount>=0)//若columncount<0代表已经没有任何列了。

{

TableColumnModelcolumnModel=jTable1.getColumnModel();

TableColumntableColumn=columnModel.getColumn(columncount);

columnModel.remove

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

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

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