当前位置: 首页 > news >正文

JavaFX基础- Button 的基本使用

说明

本文记录一下对Button的基本使用,包括但不限于 样式的设置,事件的监听等。

按钮样式的设置

方式一 : Java代码的方式

 // 创建一个按钮Button button = new Button("按钮");// 设置按钮的位置button.setLayoutX(50);button.setLayoutY(100);// 设置按钮的大小button.setPrefWidth(200);button.setPrefHeight(50);// 设置文本的字体格式和大小button.setFont(Font.font("Arial", 40));// 设置按钮的文本颜色button.setTextFill(Paint.valueOf("#ff0000"));// 使用Java Property 的方式设置按钮的背景颜色、圆角、内边距的大小BackgroundFill bgf = new BackgroundFill(Paint.valueOf("#00ff00"),new CornerRadii(20), new Insets(6));Background bg = new Background(bgf);button.setBackground(bg);

在这里插入图片描述

方式二:css 内联样式的方式

        // 创建一个按钮Button button = new Button("按钮");// 设置按钮的位置button.setLayoutX(50);button.setLayoutY(100);// 设置按钮的大小button.setPrefWidth(200);button.setPrefHeight(50);// 使用css 的方式设置按钮的背景颜色、圆角、内边距的大小// 设置样式button.setStyle("-fx-background-color: #1E90FF; " +      // 背景颜色(天蓝色)"-fx-background-radius: 10px; " +// 背景圆角"-fx-text-fill: white; " +       // 文字颜色(白色)"-fx-font-size: 16px; " +        // 字体大小"-fx-font-family: 'Arial'; " +   // 字体"-fx-border-color: #00008B; " +  // 边框颜色(海军蓝)"-fx-border-width: 2px; " +      // 边框宽度"-fx-border-style: dashed; " +   // 边框样式(虚线)"-fx-border-radius: 10px; " +    // 边框圆角"-fx-padding: 30px; " +      // 内边距 : 内容与背景的内边距(水平和垂直)"-fx-background-insets: 5px;" + // 背景的内边距 : 向内缩进去"-fx-border-insets: -5px;" // 边框的内边距 : 向外扩展出去);

在这里插入图片描述

设置鼠标进入时显示小手

  // 设置鼠标的样式 : 鼠标进入的时候显示小手状button.setCursor(Cursor.HAND);

监听单击事件

  // 设置按钮的单击事件button.setOnAction(event -> {System.out.println("event = " + event);System.out.println("按钮被点击了");});

实现监听双击

根据点击的次数判断是否是双击。

 // 实现鼠标的双击事件 1 : 使用JavaFX 的事件处理机制button.setOnMouseClicked(event -> {if (event.getClickCount() == 2 && event.getButton().name().equals(MouseButton.PRIMARY.name())){System.out.println("双击了");}});// 实现鼠标的双击事件 2 : 使用JavaFX 的事件处理机制button.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> {if (event.getClickCount() == 2 && event.getButton().name().equals(MouseButton.PRIMARY.name())){System.out.println("双击了22");}});
运行结果:
双击了22
双击了

实现监听键盘事件

// 监听键盘事件button.setOnKeyPressed(event -> {System.out.println("按下了键盘1 : "+event.getCode() + " : "+event.getCode().getName()+" : "+event.getText());});button.setOnKeyReleased(event -> {System.out.println("松开了键盘"+event.getCode());});button.setOnKeyTyped(event -> {System.out.println("按下了键盘2"+event.getCode().name());});

http://www.mrgr.cn/news/96821.html

相关文章:

  • 基于 docker 的 LLaMA-Factory 全流程部署指南
  • Kubernetes 入门篇之Master节点部署与安装
  • 基于SpringBoot的“考研学习分享平台”的设计与实现(源码+数据库+文档+PPT)
  • 【C++进阶四】vector模拟实现
  • Python设计模式:责任链模式
  • Foldseek快速蛋白质结构比对
  • 【C++初阶】---类和对象(下)
  • 【Linux】系统文件的权限管理
  • Ubuntu修改用户名
  • Spring 面经
  • k8s运维面试总结(持续更新)
  • Python入门(5):异常处理
  • 基础算法篇(3)(蓝桥杯常考点)—图论
  • uniapp APP端在线升级(简版)
  • 量子计算与人工智能融合的未来趋势
  • 机器人--ros2--IMU
  • 图片边缘采样
  • dubbo http流量接入dubbo后端服务
  • Android学习之计算器app(java + 详细注释 + 源码)
  • 在Windows下使用Docker部署Nacos注册中心(基于MySQL容器)