您的位置:首页 > 娱乐 > 明星 > Java语言程序设计基础篇_编程练习题**14.29(游戏:豆机)

Java语言程序设计基础篇_编程练习题**14.29(游戏:豆机)

2024/12/23 13:43:40 来源:https://blog.csdn.net/2301_78998594/article/details/140487681  浏览:    关键词:Java语言程序设计基础篇_编程练习题**14.29(游戏:豆机)
第十四章第二十九题
  • **14.29 (游戏:豆机)

请写一个程序,显示编程练习题 7.21 中介绍的豆机,如图 14-52c 所示

  • 代码展示
package chapter_14;import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Line;
import javafx.scene.shape.Polyline;
import javafx.stage.Stage;public class 编程练习题14_29BeanMachine extends Application{@Overridepublic void start(Stage primaryStage) throws Exception {Pane pane = new Pane();int startX = 300;int startY = 200;for(int row = 1;row <= 8;row++) {//绘制点int temp = startX;for(int col = 1;col<=row;col++) {Circle c = new Circle(temp,startY,10);pane.getChildren().add(c);temp += 60;}startX -= 30;startY+=40;}int x = 90;for(int i = 0;i < 8;i++) {//绘制直线Line line = new Line(x,480, x,550);x+=60;line.setStrokeWidth(2);pane.getChildren().add(line);}Polyline polyline = new Polyline(//绘制折线240,60,240,150,30 ,480,30, 550,570, 550,570, 480,360, 150,360, 60);polyline.setStrokeWidth(2);pane.getChildren().add(polyline);Scene scene = new Scene(pane, 600, 600);primaryStage.setTitle("编程练习题14_29BeanMachine");primaryStage.setScene(scene);primaryStage.show();}public static void main(String[] args) {Application.launch(args);}
}
  • 代码解释: 

导入包

首先,代码导入了JavaFX库中所需的类,这些类用于构建用户界面和图形元素。

类定义

定义了一个名为编程练习题14_29BeanMachine的类,它继承自Application类,这是JavaFX应用程序的基础类。

start方法

这是JavaFX应用启动时调用的主要方法。在这个方法里,程序构建了整个UI场景。

创建 Pane
  • 首先,创建一个Pane对象,它是JavaFX中的一个容器,用来布局其他UI元素。
绘制豆子落点
  • 通过两层循环绘制圆形(代表豆子可能的落点)。外层循环控制行数(共8行),内层循环控制每行的圆圈数量,圆圈横向等距分布,每向下一行,起始点左移并下移一定距离(startX,startY)。
绘制水平线
  • 绘制了8条水平线,代表豆子最终可能落入的容器分隔线,这些线从90像素开始,每隔60个像素绘制一条,绘制七条。
绘制多边形边界
  • 使用Polyline绘制了豆子机的边界形状,定义了一系列坐标点构成一个开放多边形,包括顶部、两侧和底部,用于视觉上封闭豆子机的结构。
设置场景和舞台
  • 创建一个Scene对象,将之前创建的Pane作为其根节点,并设置了场景的大小为600x600像素。
  • 设置主舞台(Stage)的标题为“编程练习题14_29BeanMachine”,将场景设置到舞台上并显示出来。

main方法

这是JavaFX应用的入口点,通过调用Application.launch(args)来启动应用程序。

  • 结果展示 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com