欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

javafx控件Button

发布时间:2023/12/8 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 javafx控件Button 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Button是Control的一个子类,属于控件的一种

基本使用方法

创建一个按钮,传入一个字符串,即为按钮的标签

Button b=new Button ("name");

也可以使用无参构造方法,再设置按钮标签

Button b=new Button (); b.setText("name");

可以移动按钮,如果按钮被某些容器托管后,此方法将失效,比如HBox
b.setLayoutX(100);
b.setLayoutY(100);
设置大小

  • b.setMinSize(minWidth, minHeight);

设置字体

  • b.setFont(Font.font("Segoe Script",40));

可通过以下方法获得系统字体名

  • System.out.println(Font.getFontNames());

设置样式

  • b.setStyle("-fx-background-color:#aabbcc");

使用css设置更简单

按钮最重要的还是事件响应

简单的活动事件

  • b.setOnAction(e->System.out.println("Action "));

响应击键事件

b.setOnKeyPressed(new EventHandler<KeyEvent>() {public void handle(KeyEvent event) {System.out.println(event.getCode().name());}});

鼠标点击事件

b.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {public void handle(MouseEvent event) {System.out.println("点击次数 :"+event.getClickCount());if(event.getButton().name().equals(MouseButton.PRIMARY.name())) {System.out.println("左键 ");}if(event.getButton().name().equals(MouseButton.SECONDARY.name())) {System.out.println("右键 ");}if(event.getButton().name().equals(MouseButton.MIDDLE.name())) {System.out.println("滑轮键按下 ");}}});

另外还有鼠标进出事件,鼠标移动事件,焦点事件,以及鼠标滑轮滚动事件等等。
对于触屏系统也有相应事件监听器。

完整代码

public class TestButton extends Application{public static void main(String[] args) {launch();}public void start(Stage primaryStage) throws Exception {Group g=new Group();Button b=new Button ("Segoe Script");b.setFont(Font.font("Segoe Script",40));System.out.println(Font.getFontNames());b.setLayoutX(100);b.setLayoutY(100);b.setStyle("-fx-background-color:#aabbcc");b.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {public void handle(MouseEvent event) {System.out.println("点击次数 :"+event.getClickCount());if(event.getButton().name().equals(MouseButton.PRIMARY.name())) {System.out.println("左键 ");}if(event.getButton().name().equals(MouseButton.SECONDARY.name())) {System.out.println("右键 ");}if(event.getButton().name().equals(MouseButton.MIDDLE.name())) {System.out.println("滑轮键按下 ");}}});b.setOnKeyPressed(new EventHandler<KeyEvent>() {public void handle(KeyEvent event) {System.out.println(event.getCode().name());}});b.setOnAction(e->System.out.println("Action "));g.getChildren().add(b);Scene s=new Scene(g);primaryStage.setScene(s);primaryStage.show();} }

总结

以上是生活随笔为你收集整理的javafx控件Button的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。