javaFx中的Button样式设置、点击事件、设置快捷键等
生活随笔
收集整理的這篇文章主要介紹了
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样式设置、点击事件、设置快捷键等的全部內容,希望文章能夠幫你解決所遇到的問題。