javaFx中的Button样式设置、点击事件、设置快捷键等
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样式设置、点击事件、设置快捷键等相关推荐
- html中<button>绑定点击事件的三种方法
<button id = 'btn'>按钮</button> 1.原生写法 document.getElementById('btn').addEventListener('c ...
- Winform中使用代码编写Button按钮的点击事件
场景 一般在进行Winform窗体开发时都会拖拽一个Button,然后双击进入Button按钮的点击事件中,进行 点击事件的编写. 如果窗体上事先没有Button按钮,是在代码中生成的Button按钮 ...
- DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。
1.问题描述:DialogFragment中通过dataBinding绑定View,设置点击事件无效. private val binding: CoreDialogEditContentBindin ...
- 在XML布局里给View设置点击事件
给一个View设置监听点击事件是再普通不过的事情,比如 view.setOnClickListener(onClickListener); 另外一种做法是直接在XML布局里面指定View点击时候的回调 ...
- Android:将鼠标右键点击事件设置为返回功能
Android:将鼠标右键点击事件设置为返回功能 一.Android开发中类似box产品,一般鼠标右键都设置为返回键,那在哪里地方修改呢? 二.源码路径framework\native\service ...
- python button使用方法_python 批量添加的button 使用同一点击事件的方法
python 批量添加的button 使用同一点击事件根据传递的参数进行区分. def clear_text(): print '我只是个清空而已' def clear_text(index): pr ...
- Android实现侧滑抽屉菜单,android studio自带的抽屉侧滑菜单怎么设置点击事件?还头一回遇到,汗!...
在你的activity,你需要inflate 你的menu folder@Override public boolean onCreateOptionsMenu(Menu menu) { MenuIn ...
- android 部分区域点击,Android编程实现ListView中item部分区域添加点击事件功能
本文实例讲述了Android编程实现ListView中item部分区域添加点击事件功能.分享给大家供大家参考,具体如下: 需求如题目:Android listview中item部分区域添加点击事件,在 ...
- Android Span富文本设置点击事件/超链接 - URLSpan/ClickableSpan
######为文字实现很丰富的特殊效果,下面来实现 点击事件/超链接 操作 so... 直接上效果: ##使用前提条件: textView.movementMethod = LinkMovementM ...
最新文章
- VS 2005 Debugger crashing with IE 8
- 输入任意个整数以回车键结束_Enter键只知道回车作用?以下7个用法,你会几个?...
- python2异步编程_python异步编程 (转载)
- ide 波浪线_零基础学习Python_小波浪
- go python php_php 、go 、python http请求(get和post)
- 数学建模必备算法之模拟退火算法
- C#中析构函数,命名空间及字符串的运用(Ninth day)
- 介绍两个好玩的和Github相关的Chrome扩展 1
- python中abc属于字符串吗_在Python中,字符串s = 'abc',那么执行表达式s+'d'之后,s的打印结果是( )。...
- netflix_Netflix Archaius用于物业管理–基础知识
- 第K个幸运排列 (51Nod-1635)
- Spring自学日志00(Spring配置文件头及xsd文件版本浅析)
- Linux进程管理:上帝视角看进程调度
- 关于C语言,C程序员的我想说两句...
- android 页面icon拉伸_页面转场: 忽略它可能会使你犯错
- spring学习--AOP--JDK动态代理
- 隐马尔可夫模型python_机器学习中的隐马尔科夫模型(HMM)详解
- 格式工厂 wav 比特率_IQmango Converter下载-IQmango Converter(音视频格式转换工具)v3.4.6免费版...
- 汇编_stack的使用
- AutoCAD中添加块和块参照(转载)