Wing的小站

  • 首页
  • IT新闻
  • 技术文章
  • 生活随笔
  • 休闲娱乐
  • 个人作品
  • 留言板
  • 关于博主
JavaFX,Unity3D,Android,IOS,技术教程,生活随笔
  1. 首页
  2. 技术文章
  3. 正文

从零开始学习JavaFX(7)控件篇之Button

2015年11月2日 8007点热度 0人点赞 0条评论

在上一节教程中,我们已经学习了如何在JavaFX中Label的一些用法。那么,在这一节中,我们将学习Button的用法。

创建Button

JavaFX中的Button,可以显示文本,图片或者两者一起显示。效果图如下:

主要用到如下几个构造方法:

//一个无文本的Button
Button button1 = new Button();
//使用指定文本的Button
Button button2 = new Button("Accept");
//包含文本和图片的Button
Image imageOk = new Image(getClass().getResourceAsStream("ok.png"));
Button button3 = new Button("Accept", new ImageView(imageOk));

设置Button图片

Image imageDecline = new Image(getClass().getResourceAsStream("not.png"));
Button button5 = new Button();
button5.setGraphic(new ImageView(imageDecline));

如下图所示:

主要是通过setGraphic来指定显示的图片。

设置Button状态

在使用按钮的时候,在鼠标移动上去,点击等等会表现出不同的状态。当然,我们可以通过CSS实现。不过默认的Button效果如上图所示。

我们下面来看看,如何用事件来实现自己的效果。

DropShadow shadow = new DropShadow();
//当鼠标移动到Button上时,增加一个阴影效果
button3.addEventHandler(MouseEvent.MOUSE_ENTERED, (MouseEvent e) -> {
    button3.setEffect(shadow);
});
 
//当鼠标离开Button时,移除阴影效果
button3.addEventHandler(MouseEvent.MOUSE_EXITED, (MouseEvent e) -> {
    button3.setEffect(null);
});

在上面的代码里,我们通过添加鼠标Enter和Exit事件来在鼠标移动到按钮上时增加阴影的效果。同理,想实现其他效果也可以这样。

效果图:

Button事件

很简单,同样是setOnAction。代码如下:

button2.setOnAction((ActionEvent e) -> {
    label.setText("Accepted");
});

Button样式

我们可以使用CSS来改变Button的样式,如下所示:

//将下面的代码添加到CSS文件中
.button1{
    -fx-font: 22 arial; 
    -fx-base: #b6e7c9;    
}
//将下面的代码添加到.java文件中
button1.getStyleClass().add("button1");

给Button增加了CSS样式,显示效果如下:

以上就是JavaFX中Button的基本用法了。我们下一节课再见。

标签: button javafx 从零开始学习JavaFX
最后更新:2017年4月14日

wing1314

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 Wing的小站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备17006951号-1

42011102000591