Button基础

这篇文章的内容为按键文本设置、文本字体字号设置、背景设置、边框设置和单击事件编辑、

button位置与大小

设置大小的方法如下:

1
2
3
//设置位置		
b2.setLayoutX(400);
b2.setLayoutY(300);

设置大小可以一次指定宽高,也可以分别指定宽高。

1
2
3
4
5
6
//设置大小
b1.setPrefSize(80, 70);//方法1

b2.setPrefHeight(30);//方法2
b2.setPrefWidth(50);//方法2

文本

文本设置是指按钮上面出现的文字,可设置的内容有字体、字号和颜色,下面是设置方法

设置文本内容

1
2
3
4
5
//方法1
Button b3 = new Button("b3");
//方法2
b1.setText("b1");
b2.setText("b2");

字体字号

字体字号的设置方法

1
2
3
4
//文本字体、字号
b1.setFont(Font.font(30));
b1.setFont(Font.font("Blackadder ITC"));

文本颜色

1
2
3
//文本颜色
b1.setTextFill(Paint.valueOf("#000000"));
b2.setTextFill(Paint.valueOf("#12fff8"));

背景

1
2
3
4
//设置背景
BackgroundFill bgf = new BackgroundFill(Paint.valueOf("#4488cc"), new CornerRadii(3), new Insets(10));
Background bg = new Background(bgf);
b1.setBackground(bg);

其中BackgroundFill构造方法参数依次为背景颜色、圆角弧度、与边框的距离。

边框

1
2
3
4
//设置边距
BorderStroke borderStroke = new BorderStroke(null, BorderStrokeStyle.DASHED, new CornerRadii(5), null);
Border border = new Border(borderStroke);
b1.setBorder(border);

其中BorderStroke构造方法参数依次为边框颜色、边框样式、圆角弧度、边框宽度。其中当边框颜色为null时默认为黑色,边框的样式有实线、长虚线和短虚线。

FX-CSS

以上的写法也可以变为CSS的写法,具体写法参照官网

1
2
3
4
5
//官网:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#introscenegraph
b3.setStyle("-fx-background-color:#7ccd7c;"
+ "-fx-background-radius:2;"
+ "-fx-text-fill:#fff812;"
+ "font-family: 'sample';");

单击事件

单击事件监听如下

1
2
3
4
5
6
7
b1.setOnAction(new EventHandler<ActionEvent>() {

public void handle(ActionEvent event) {
// TODO Auto-generated method stub

}
});

事件源获取

在单击事件的监听程序中可以通过参数event的方法获取事件源,但是因为返回的对象类型为Object型,所以需要转为Button。实现如下:

1
2
//获取事件源
Button b=(Button) event.getSource();