java答案第九章.docx

上传人:b****4 文档编号:24444329 上传时间:2023-05-27 格式:DOCX 页数:33 大小:67.21KB
下载 相关 举报
java答案第九章.docx_第1页
第1页 / 共33页
java答案第九章.docx_第2页
第2页 / 共33页
java答案第九章.docx_第3页
第3页 / 共33页
java答案第九章.docx_第4页
第4页 / 共33页
java答案第九章.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

java答案第九章.docx

《java答案第九章.docx》由会员分享,可在线阅读,更多相关《java答案第九章.docx(33页珍藏版)》请在冰豆网上搜索。

java答案第九章.docx

java答案第九章

//NetWork类

importjava.awt.Graphics;

importjavax.swing.JFrame;

publicclass test9_1extendsJFrame{ 

 

 publicNetWork(){

  //设置窗体大小

  this.setSize(130,130);

  

  //设置窗体大小不可改变

  this.setResizable(false);

  

  //设置默认关闭方式,关闭窗体的同时结束程序

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

  

  //将窗体显示出来

  this.setVisible(true);

 }

 //横纵格之间都间隔10像素,起点在(20,40)

 publicvoidpaint(Graphicsg){

  //绘制横向线

  for(inti=0;i<=5;i++){

   g.drawLine(20,40+i*10,110,40+i*10);  

  }

  //绘制纵向线

  for(inti=0;i<=9;i++){   

   g.drawLine(20+i*10,40,20+i*10,90);

  } 

 }

  publicstaticvoidmain(String[]args){

  newtest9_1(); 

 }

}

运行结果:

 

2.

编写一个程序,该程序以不同的颜色随机产生三角形,每个三角形用不同的颜色进行填充。

//Triangle类

importjava.awt.Color;

importjava.awt.Graphics;

importjava.util.Random;

importjavax.swing.JFrame;

publicclassTriangleextendsJFrame{

 

 Randomrnd=newRandom();

 //这里定义4个三角形

 int[][]x=newint[4][3];

 int[][]y=newint[4][3];

 int[][]color=newint[4][3];

 

 publicTriangle(){ 

         

  for(inti=0;i<4;i++){

   for(intj=0;j<3;j++){

    color[i][j]=rnd.nextInt(255);

    x[i][j]=rnd.nextInt(i*100+100);

    y[i][j]=rnd.nextInt(i*100+100)+50;//加50像素是为了避免顶到窗体上沿

   } 

  }

 

  //窗体标题

  this.setTitle("随机三角形");

  //窗体大小

  this.setSize(500,500);

  //窗体大小不可变

  this.setResizable(false);

  //关闭窗体的同时结束程序

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  //显示窗体

  this.setVisible(true);  

 }

 

 publicvoidpaint(Graphicsg){

  for(inti=0;i<4;i++){

   g.setColor(newColor(color[i][0],color[i][1],color[i][2]));

   g.fillPolygon(x[i],y[i],3);

  }

 } 

publicstaticvoidmain(String[]args){

  newTriangle();

 }

}

运行结果:

 

3.编写一个Applet,该程序请求用户输入圆的半径,然后显示该圆的直径、周长和面积。

//test9_3

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

publicclasstest9_3extendsJApplet{

 //声明5个标签

 privateJLabeljLabel1;

 privateJLabeljLabel2;

 privateJLabeljLabel3;

 privateJLabeljLabel4;

 privateJLabeljLabel5;

 //1个单行文本

 privateJTextFieldtextOfRadius;

 //2个按钮

 privateJButtonjButton1;

 privateJButtonjButton2;

 //初始化

 publicvoidinit(){

  try{

   java.awt.EventQueue.invokeAndWait(newRunnable(){

    publicvoidrun(){

     

     initComponents();

    }

   });

  }catch(Exceptionex){

   ex.printStackTrace();

  }

 }

 

 privatevoidinitComponents(){

  //声明8个组件

  jLabel1=newJLabel("输入圆的半径:

",SwingConstants.CENTER);

  jLabel2=newJLabel("圆的周长:

",SwingConstants.CENTER);

  jLabel3=newJLabel("",SwingConstants.CENTER);

  jLabel4=newJLabel("圆的面积:

",SwingConstants.CENTER);

  jLabel5=newJLabel("",SwingConstants.CENTER);

  textOfRadius=newJTextField("半径");

  jButton1=newJButton("计算");

  jButton2=newJButton("退出");

  //按钮添加监听器

  jButton1.addActionListener(newActionListener(){

   publicvoidactionPerformed(ActionEventevt){

    jButton1ActionPerformed(evt);

   }

  });

  //按钮添加监听器

  jButton2.addActionListener(newActionListener(){

   publicvoidactionPerformed(ActionEventevt){

    jButton2ActionPerformed(evt);

   }

  });

  //声明定义内容面板,并且设置其布局格式为:

4行2列格子

  Containerc=getContentPane();

  c.setLayout(newGridLayout(4,2));

  //将8个组件加入到内容面板

  c.add(jLabel1);

  c.add(textOfRadius);

  c.add(jLabel2);

  c.add(jLabel3);

  c.add(jLabel4);

  c.add(jLabel5);

  c.add(jButton1);

  c.add(jButton2);

 }

 //求周长方法

 privateStringRound(doublea){

  doubleperimeter=a*2*3.14;

  Strings=newString(String.valueOf(perimeter));

  returns;

 }

 //求面积方法

 privateStringArea(doublea){

  doublearea=a*a*3.14;

  Strings=newString(String.valueOf(area));

  returns;

 }

 //点击“计算”按钮jButton1触发的方法

 privatevoidjButton1ActionPerformed(ActionEventevt){

  

  //捕获单文本输入非数字的异常

  try{

   Strings=textOfRadius.getText();//获得单文本字符

   doublea=Double.valueOf(s).floatValue();//字符转化为双精度

   jLabel3.setText(Round(a));//标签内容为周长

   jLabel5.setText(Area(a));//标签内容为面积

  }catch(NumberFormatExceptionr){

   //单文本为非数字弹出提示“输入错误”框

   JOptionPane.showMessageDialog(this,"请输入数字类型","输入错误",JOptionPane.WARNING_MESSAGE);

   textOfRadius.setText("");

  }

 }

 //点击“退出”按钮jButton2触发的方法

 publicvoidjButton2ActionPerformed(ActionEventevt){

  System.exit(0);

 }

}

运行结果:

 

编译text9_3.java产生字节码文件test9_3.class,接下来需要编写一个

HTML文件text9_3.html来嵌入text9_3.class,代码如下:

将test9_3.html文件和test9_3.class文件放在同一个目录下,在浏览器中打开这个test9_3.html文件,实现的效果如下:

 

4.编写一个Applet,向其输入五个数,然后以条形图(bargraph)的形式来表示这些数。

(还没完善好,供参考)

//MyJPanel类

importjava.awt.Graphics;

importjavax.swing.JPanel;

publicclassMyJPanelextendsJPanel{

 publicint[]shu=newint[5];

 publicMyJPanel(int[]shu){

  for(inti=0;i<5;i++){

   this.shu[i]=shu[i];

  }

  this.setSize(200,200);

  this.setVisible(true);

 

 }

 

 publicvoidpaint(Graphicsg){//Component

  super.paint(g);

 

  for(inti=0;i<5;i++){

   g.fillRect(10,30*i,10*shu[i],20);

   

  }

  

 }

}

//test9_4

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

importjavax.swing.JTextField;

publicclasstest9_4extendsJFrameimplementsActionListener{

 JFramejFrame;

 JTextFieldjTextField1;

 JTextFieldjTextField2;

 JTextFieldjTextField3;

 JTextFieldjTextField4;

 JTextFieldjTextField5;

 JButtonjButton;

 int[]number={1,2,3,4,5};

 JPaneljPanel1;

 MyJPaneljPanel2;

 

 publicvoidinit(){

  JFramejFrame=newJFrame("条形图表示数");

  jFrame.setSize(600,210);

  //jFrame.setResizable(false);

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

  jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

  jTextField1=newJTextField();

  jTextField2=newJTextField();

  jTextField3=newJTextField();

  jTextField4=newJTextField();

  jTextField5=newJTextField();

  jButton=newJButton("开始");

  jButton.addActionListener(this);

  jPanel1=newJPanel();

  jPanel1.setLayout(newGridLayout(6,1));

 

  jPanel1.add(jTextField1);

  jPanel1.add(jTextField2);

  jPanel1.add(jTextField3);

  jPanel1.add(jTextField4);

  jPanel1.add(jTextField5);

  jPanel1.add(jButton);

  jPanel2=newMyJPanel(number);

  jFrame.add(jPanel1);

  jFrame.add(jPanel2);

  

  

  jFrame.pack();

  jFrame.setVisible(true);

  

 }

 @Override

 publicvoidactionPerformed(ActionEvente){

  //TODOAuto-generatedmethodstub

  number[0]=Integer.parseInt(jTextField1.getText());

  number[1]=Integer.parseInt(jTextField2.getText());

  number[2]=Integer.parseInt(jTextField3.getText());

  number[3]=Integer.parseInt(jTextField4.getText());

  number[4]=Integer.parseInt(jTextField5.getText());

  

  for(inti=0;i<5;i++){

   System.out.println(number[i]);

  } 

 }

 publicstaticvoidmain(String[]args){

  newtest9_4().init();

 }

}

5.编写一个绘制圆形的程序,当鼠标在绘制区域中单击时,该正方形的左上角顶点应准确的跟随鼠标光标移动,重绘该圆形。

//MyJFrame类

importjava.awt.Graphics;

importjava.awt.event.MouseEvent;

importjava.awt.event.MouseListener;

importjavax.swing.JFrame;

publicclassMyJFrameextendsJFrameimplementsMouseListener{

 intx=50;

 inty=50;

 intradius=50;

 publicMyJFrame(){

  this.setTitle("绘制圆形");

  this.setSize(200,200);

  this.setResizable(false);

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  this.addMouseListener(this);

  this.setVisible(true); 

  

 }

 publicvoidpaint(Graphicsg){

  g.drawOval(x,y,radius,radius);

 }

 

 publicvoidmouseClicked(MouseEvente){

  //TODOAuto-generatedmethodstub

  this.x=e.getX();

  this.y=e.getY();

  this.repaint();

  System.out.println("x:

"+e.getX()+"\ny:

"+e.getY());  

 }

 publicvoidmouseEntered(MouseEvente){

  //TODOAuto-generatedmethodstub

  

 }

 publicvoidmouseExited(MouseEvente){

  //TODOAuto-generatedmethodstub

  

 }

 publicvoidmousePressed(MouseEvente){

  //TODOAuto-generatedmethodstub

  

 }

 publicvoidmouseReleased(MouseEvente){

  //TODOAuto-generatedmethodstub

  

 } 

publicstaticvoidmain(String[]args){

  newMyJFrame();

  

 }

}

运行结果:

 

6.编写一个“猜数”程序:

该程序随机在1到100的范围内选择一个供用户猜测的整数,然后改程序显示提示信息,要求用户输入一个1到100之间的整数,根据输入偏大、偏小、正确,程序将显示不同的图标。

//GuessNumber类

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.util.Random;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JTextField;

importjavax.swing.SwingConstants;

publicclassGuessNumberextendsJFrameimplementsActionListener{

 intnumberOfRandom;//游戏程序随机数

 intnumberOfUser;//玩家输入整数

 JLabellabel1;//标签1:

“输入一个1到100之间的整数”

 JLabellabel2;//标签2:

“提示”

 JLabellabel3;//标签3:

提示的内容(偏大、偏小、正确)

 JButtonbuttonOfSure;//确定按钮

 JButtonbuttonOfExit;//退出按钮

 JTextFieldjTextField;//猜数输入单行文本框

 publicvoidinit(){

  //窗体的定义

  this.setTitle("这是一个猜数游戏");

  this.setSize(400,120);

  this.setResizable(false);

  this.setLayout(newGridLayout(3,2));

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  //随机数

  Randomrandom=newRandom();

  numberOfRandom=random.nextInt(100);

  //各组件的定义

  label1=newJLabel("请输入一个1到100之间的整数:

");

  label2=newJLabel("提示:

",SwingConstants.CENTER);

  label3=newJLabel("猜猜看");

  buttonOfSure=newJButton("确定");

  this.getRootPane().setDefaultButton(buttonOfSure);//默认用户按下回车键触发“确定”按钮

  buttonOfSure.addActionListener(this);

  buttonOfExit=newJButton("退出");

  buttonOfExit.addActionListener(this);

  jTextField=newJTextField("输入");

  //窗体加入各组件

  this.add(label1);

  this.add(jTextField);

  this.add(label2);

  this.add(label3);

  this.add(buttonOfSure);

  this.add(buttonOfExit);

  //显示窗体

  this.setVisible(true);

  System.out.println(numberOfRandom);//偷偷看看随机数,哈哈

 }

 //事件处理

 pu

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

当前位置:首页 > 职业教育 > 其它

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

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