Button样式设置

button的背景、边框、字体设置,比较基础简单的示例如下:

public class JavaFxNote extends Application {public static void main(String[] args){
//        调用launch方法启动应用launch(args);}@Overridepublic void start(Stage primaryStage) throws Exception {Button btn1 = new Button("btn1");btn1.setLayoutX(50);btn1.setLayoutY(50);btn1.setPrefWidth(50);btn1.setPrefHeight(50);Group group =new Group();
//        容器添加子组件group.getChildren().addAll(btn1);//        装饰btn1按钮btn1.setStyle("-fx-background-color:#00BFFF;"+         //设置背景颜色"-fx-background-radius:20;"+     //设置背景圆角"-fx-text-fill:#FF0000;"+        //设置字体颜色"-fx-border-radius:20;"+         //设置边框圆角"-fx-border-color:#FFFF00;"+     //设置边框颜色"-fx-border-style:dashed;"+      //设置边框样式"-fx-border-width:5;"+           //设置边框宽度"-fx-border-insets:-5"           //设置边框插入值);//        指定一个布局类或者根结点Scene scene = new Scene(group);primaryStage.setScene(scene);primaryStage.setTitle("骏杰小程序");primaryStage.setHeight(768);primaryStage.setWidth(1366);primaryStage.show();}
}

运行出来的效果如下:

Button的点击事件

button的点击事件分单击事件、双击事件、键盘触发事件等。下面也是一个简单的示例,注释也说得比较明白。

public class JavaFxNote extends Application {public static void main(String[] args){
//        调用launch方法启动应用launch(args);}public void start(Stage primaryStage) throws Exception {Button btn1 = new Button("btn1");btn1.setLayoutX(50);btn1.setLayoutY(50);btn1.setPrefWidth(50);btn1.setPrefHeight(50);Group group =new Group();
//        容器添加子组件group.getChildren().addAll(btn1);//        设置按钮单击事件btn1.setOnAction(new EventHandler<ActionEvent>() {@Overridepublic void handle(ActionEvent event) {System.out.println("btn1的单击事件");}});//        设置按钮单击事件,并设置鼠标左键触发双击事件btn1.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {@Overridepublic void handle(MouseEvent event) {System.out.println("鼠标按键"+event.getButton().name());
//        将MouseButton.PRIMARY替换,可设置为鼠标右键
if(event.getClickCount()==2&&event.getButton().name().equals(MouseButton.PRIMARY.name())){System.out.println("鼠标按键为:"+event.getButton().name());System.out.println("触发双击事件");}}});//        设置按钮键盘按下事件,并过滤除A外的键btn1.setOnKeyPressed(new EventHandler<KeyEvent>() {@Overridepublic void handle(KeyEvent event) {
//        如果不想设置为A键,可将KeyCode.A替换成别的键if(event.getCode().getName().equals(KeyCode.A.getName()))System.out.println("按下="+event.getCode().getName());}});//        设置按钮键盘释放事件,并过滤除A外的键btn1.setOnKeyReleased(new EventHandler<KeyEvent>() {@Overridepublic void handle(KeyEvent event) {if(event.getCode().getName().equals(KeyCode.A.getName()))System.out.println("释放="+event.getCode().getName());}});//        指定一个布局类或者根结点Scene scene = new Scene(group);primaryStage.setScene(scene);primaryStage.setTitle("骏杰小程序");primaryStage.setHeight(400);primaryStage.setWidth(400);primaryStage.show();}
}

Button设置快捷键

快捷键的设置有四种方法,两种是比较常用的,两种不常用。下面是设置快捷键的简单示例。

public class JavaFxNote extends Application {public static void main(String[] args){
//        调用launch方法启动应用launch(args);}@Overridepublic void start(Stage primaryStage) throws Exception {Button btn1 = new Button("btn1");btn1.setLayoutX(50);btn1.setLayoutY(50);btn1.setPrefWidth(50);btn1.setPrefHeight(50);Group group =new Group();
//        容器添加子组件group.getChildren().addAll(btn1);btn1.setOnAction(new EventHandler<ActionEvent>() {@Overridepublic void handle(ActionEvent event) {play();}});
//        指定一个布局类或者根结点Scene scene = new Scene(group);//        第一种快捷键设置方式,也是常用的KeyCombination kc1 = new KeyCodeCombination(KeyCode.C,KeyCombination.ALT_DOWN,KeyCombination.CONTROL_DOWN);Mnemonic mnemonic = new Mnemonic(btn1,kc1);scene.addMnemonic(mnemonic);//        第二种快捷键设置方式,不太常用KeyCombination kc2 = new KeyCharacterCombination("A",KeyCombination.ALT_DOWN);Mnemonic mnemonic2 = new Mnemonic(btn1,kc2);scene.addMnemonic(mnemonic2);//        第三种设置快捷键方式,基本不用KeyCombination kc3 = new KeyCodeCombination(KeyCode.K,KeyCombination.SHIFT_DOWN,KeyCombination.CONTROL_DOWN,KeyCombination.ALT_DOWN,KeyCombination.META_DOWN,KeyCombination.SHORTCUT_DOWN);Mnemonic mnemonic3 = new Mnemonic(btn1,kc3);scene.addMnemonic(mnemonic3);//        第四种设置快捷键方式,最常用,
//        SHORTCUT_DOWN等同于Windows系统的Ctrl,等同于Mac系统的MetaKeyCombination kc4 = new KeyCodeCombination(KeyCode.Y,KeyCombination.SHORTCUT_DOWN);scene.getAccelerators().put(kc4, new Runnable() {@Overridepublic void run() {System.out.println("run方法");play();}});primaryStage.setScene(scene);primaryStage.setTitle("骏杰小程序");primaryStage.setHeight(400);primaryStage.setWidth(400);primaryStage.show();}public  static void play(){System.out.println("触发快捷键");}
}

学习javafx的资料比较少,视频学习推荐哔哩哔哩搜索up主:Aimls,或者加入扣扣群里学习:一群 456378454 ,二群:464362636

javaFx中的Button样式设置、点击事件、设置快捷键等相关推荐

  1. html中<button>绑定点击事件的三种方法

    <button id = 'btn'>按钮</button> 1.原生写法 document.getElementById('btn').addEventListener('c ...

  2. Winform中使用代码编写Button按钮的点击事件

    场景 一般在进行Winform窗体开发时都会拖拽一个Button,然后双击进入Button按钮的点击事件中,进行 点击事件的编写. 如果窗体上事先没有Button按钮,是在代码中生成的Button按钮 ...

  3. DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。

    1.问题描述:DialogFragment中通过dataBinding绑定View,设置点击事件无效. private val binding: CoreDialogEditContentBindin ...

  4. 在XML布局里给View设置点击事件

    给一个View设置监听点击事件是再普通不过的事情,比如 view.setOnClickListener(onClickListener); 另外一种做法是直接在XML布局里面指定View点击时候的回调 ...

  5. Android:将鼠标右键点击事件设置为返回功能

    Android:将鼠标右键点击事件设置为返回功能 一.Android开发中类似box产品,一般鼠标右键都设置为返回键,那在哪里地方修改呢? 二.源码路径framework\native\service ...

  6. python button使用方法_python 批量添加的button 使用同一点击事件的方法

    python 批量添加的button 使用同一点击事件根据传递的参数进行区分. def clear_text(): print '我只是个清空而已' def clear_text(index): pr ...

  7. Android实现侧滑抽屉菜单,android studio自带的抽屉侧滑菜单怎么设置点击事件?还头一回遇到,汗!...

    在你的activity,你需要inflate 你的menu folder@Override public boolean onCreateOptionsMenu(Menu menu) { MenuIn ...

  8. android 部分区域点击,Android编程实现ListView中item部分区域添加点击事件功能

    本文实例讲述了Android编程实现ListView中item部分区域添加点击事件功能.分享给大家供大家参考,具体如下: 需求如题目:Android listview中item部分区域添加点击事件,在 ...

  9. Android Span富文本设置点击事件/超链接 - URLSpan/ClickableSpan

    ######为文字实现很丰富的特殊效果,下面来实现 点击事件/超链接 操作 so... 直接上效果: ##使用前提条件: textView.movementMethod = LinkMovementM ...

最新文章

  1. VS 2005 Debugger crashing with IE 8
  2. 输入任意个整数以回车键结束_Enter键只知道回车作用?以下7个用法,你会几个?...
  3. python2异步编程_python异步编程 (转载)
  4. ide 波浪线_零基础学习Python_小波浪
  5. go python php_php 、go 、python http请求(get和post)
  6. 数学建模必备算法之模拟退火算法
  7. C#中析构函数,命名空间及字符串的运用(Ninth day)
  8. 介绍两个好玩的和Github相关的Chrome扩展 1
  9. python中abc属于字符串吗_在Python中,字符串s = 'abc',那么执行表达式s+'d'之后,s的打印结果是( )。...
  10. netflix_Netflix Archaius用于物业管理–基础知识
  11. 第K个幸运排列 (51Nod-1635)
  12. Spring自学日志00(Spring配置文件头及xsd文件版本浅析)
  13. Linux进程管理:上帝视角看进程调度
  14. 关于C语言,C程序员的我想说两句...
  15. android 页面icon拉伸_页面转场: 忽略它可能会使你犯错
  16. spring学习--AOP--JDK动态代理
  17. 隐马尔可夫模型python_机器学习中的隐马尔科夫模型(HMM)详解
  18. 格式工厂 wav 比特率_IQmango Converter下载-IQmango Converter(音视频格式转换工具)v3.4.6免费版...
  19. 汇编_stack的使用
  20. AutoCAD中添加块和块参照(转载)

热门文章

  1. CDOJ 1281 暴兵的卿学姐 构造题
  2. sql中带有like时如何使用预编译。
  3. 年份好就多往前跑跑 年份不好就走慢点?是看天吃饭吗?
  4. ROCR包中ROC曲线计算是取大于cutoff还是大于等于cutoff
  5. 2023年4月12日 Eclipse2018-12 汉化
  6. 湖南中创教育为学员提供方便快速的退费服务
  7. ev10aq190a采集电路图_解读ADC采样芯片(EV10AQ190A)的工作模式(四通道模式)
  8. 教妹学Java:聊聊并发编程的原子性、可见性、有序性,以及内存模型 JMM
  9. 怎么在家里赚钱?教你利用电影解说来赚钱!
  10. HTML5新增内容元素和表单控件