Java实验报告:JavaFX GUI控制组件与事件处理学习及实践

需积分: 5 0 下载量 157 浏览量 更新于2024-03-22 收藏 616KB DOC 举报
本专栏主要提供了Java程序设计(基础)和Java程序设计(进阶)的实验报告,涵盖了各种重要主题,如JAVA环境搭建、Java语言基础、方法和数组、面向对象基础、Java常用类、继承与接口、成员访问控制与异常、JavaFX程序设计、Java输入输出流、反射、泛型、注解、网络编程、多线程、序列化、数据库、Servlet、JSP、XML解析、单例模式与枚举等。本专栏的目标是为Java入门者提供实验参考和学习指导。 在本篇实验报告中,主要介绍了实验8 JAVAFX程序设计的内容。实验的目的是掌握常用的GUI控制组件以及它们的事件处理。实验内容包括编程一个包含一个标签和一个按钮的程序,在点击按钮时,标签的内容在“你好”和“再见”之间切换。此外,实验要求使用本类(该类自身)、外部类、内部类、匿名内部类以及lambda表达式来完成不同的方式。通过这个实验,学生能够熟练掌握各种事件处理方式,加深对GUI编程的理解。 最终,学生需要完成一个程序代码,如下所示: ```java // test1.Java 本类(该类自身) import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.FlowPane; import javafx.scene; public class Test1 extends Application { private Label label; private Button button; private boolean flag = false; @Override public void start(Stage primaryStage) { label = new Label("你好"); button = new Button("切换"); button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { if(flag) { label.setText("你好"); } else { label.setText("再见"); } flag = !flag; } }); FlowPane root = new FlowPane(); root.getChildren().addAll(label, button); Scene scene = new Scene(root, 200, 100); primaryStage.setTitle("Hello World!"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 通过完成这个实验,学生能够熟练掌握JavaFX的基本操作,包括GUI控件的使用和事件处理。同时,通过不同的编程方式,可以更好地理解Java语言的灵活性和多样性。这对于提高学生的编程能力和解决问题的能力都是非常有益的。希望本专栏的实验报告能够对Java入门者的学习和成长有所帮助。