JavaFX新增控件

有很长一段时间没有写关于JavaFX的教程了,今天抽时间看了一下JDK的更新,发现从JDK 8U40开始,新增了三个部分,分别是Spinner,TextFormatter和Dialogs。

下面我们来看看它们简单的用法。

1.Spinner

控件如上所示。

Spinner spinner = new Spinner(0, 10, 0,2);

构造函数也很简单,主要是最小值,最大值,初始值和递进值。

2.TextFormatter

这个主要是对输入内容进行处理,来符合自己的要求。

例如我们的文本框只输入double内容:

UnaryOperator filter = new UnaryOperator() {
            @Override
            public TextFormatter.Change apply(TextFormatter.Change t) {
                String newText = t.getControlNewText() ;
                if (newText.matches("-?[0-9]*\\.?[0-9]*")) {
                    return t ;
                }
                return null ;
            }
        };
TextField tf = new TextField();
tf.setTextFormatter(new TextFormatter<>(filter));

3.Dialogs

主要是提示对话框,样式如下:

主要由标题,信息提示类型,内容组成。

如下所示:

Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("提示信息");
alert.setContentText("Spinner Value:" + spinner.getValue());
alert.show();

当然这里只是简单的用法,其实Dialogs部分还可以截获对话框的按钮事件等等,但是最近很忙,也没有什么时间写,那些就等后续再说吧。


总的来说,JavaFX的改进速度真的是很慢,暂时也不知道这个技术还能撑多久….但对于Java桌面级开发的UI,还是勉勉强强可以接受的(虽然那与平台无关的界面现在看起来不是很喜欢)。

发表评论

电子邮件地址不会被公开。