第十六章:
16.1:首先使用无参构造函数创建标签,然后将其图形属性设置为节点。
16.2:利用label.setContentDisplay(ContentDisplay.LEFT).
16.3:利用HTML标签进行换行,如下:
JLabel jl = new JLabel(“
静夜思
床前明月光疑是地上霜举头望明月低头思故乡”);
16.4:利用label.setUnderline(true);
16.5:使用构造函数 new Button (text,graphic)创建带有文本和节点的按钮。可以通过应用在Button中Labeled的方法,因为Button是Labeled的子类。
16.6: getPane()和数据域text受保护的原因是,为了在本章后面的ButtonDemo子类中更好的使用。
16.7: 设置一个处理器用于处理按钮单击的动作:button.setOnAction(handler);
16.8:利用chk.isSelected()来判断。
16.9: 可以将用于 Labeled 的所有方法用于 CheckBox,因为CheckBox是Labeled的子类。
16.10:可以将一个复选框中 graphic 属性设置为一个节点。
16.11:利用rb.isSelected();来判断一个单选按钮是否被选中。
16.12: 可以将 Labeled 中所有的方法应用于 RadioButton,因为RadioButton是Labeled的子类。
16.13: 可以将单选按钮的 graphic 属性设置为任何节点。
16.14:创建一个ToggliGroupTG并将单选按钮的toggleGroup属性设置为tg,来讲单选按钮分组。
16.15:可以禁用文本域的编辑功能,利用tf.setEditable(false);
16.16:可以将 TextlnputControl 的所有方法应用于 TextField 之上,因为TextField是TextlnputControl的子类。
16.17:不可以将文本域的 graphic 属性设置为一个节点
16.18:使用tf.setAlignment(Pos.BASELINE_RIGHT)实现将文本域里面的文本设置右对齐。
16.19:使用new TextArea()创建一个TextArea对象,然后将prefColumnCount设置为20,然后将prefRowCount设置为10.
16.20:使用ta.getText()获取文本区域里面的文本。
16.21:使用ta.setEditable(false)来禁用一个文本区域里面的编辑功能。
16.22:使用 ta.setWrapText(true); 在文本区域里面可以将一行文本进行折行显示。
16.23:使用new ComboBox<>()创建一个组合框,使用cbo.getltems().addAll(item1, item2, item3),来加入三个条目。
16.24:利用cbo.getltems()从一个组合框中获取一个条目,利用cbo.getValue()来从一个组合框中获取一个选中条目。
16.25: 利用cbo.getltems().size()得到一个组合框中的条目数,cbo.getltems().get(i)来获得组合框中一个指定索引号的条目。
16.26: 当选择一个新的条目时,ComboBox 将触发ActionEvent事件
16.27:要创建一个具有一个字符串数组的可观察的列表,使用prepreFXCollections.observableArrayList(arrayOfStrings);
16.28: 设置一个列表视图的方向,利用lv.setOrientation(Orientation.HORIZONTAL)或者lv.setOrientation(Orientation.VERITCAL)
16.29: 列表视图有两种可用的选择模式:分别是SelectionMode.MULTIPLE和SelectionMode.SINGLE。可以利用lv.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE)来设置一个选择模式。
16.30: 如何获得选中的条目以及选中的下标,代码如下:
lv.getSelectionModel().getSelectedItems()以及
lv.getSelectionModel().getSelectedIndices()
16.31: 如何创建一个水平滚动条?如何创建一个垂直滚动条?:首先利用new ScrollBall()创建一个滚动条,然后调用它的setOrientation(Orientation.HORIZONTAL)和setOrientation(Orientation.VERTICAL)方法。
16.32:利用sb.valueProperty().addListener(ov -> statements) 用以响应滚动条的 value 属性的改变.
16.33:利用sb.getValue()从滚动条获得值,利用sb.getMax()从滚动条获得最大值。
16.34: 如何创建一个水平滑动条?如何创建一个垂直滑动条?首先利用new Slider()创建一个滑动条,然后调用它的setOrientation(Orientation.HORIZONTAL)和setOrientation(Orientation.VERTICAL)方法。
16.35:利用sl.valueProperty().addListener(ov -> statements)来添加一个监听器用于处理滑动条的属性值改变。
16.36: 利用sl.getValue()从滚动条获得值,利用sl.getMax()从滚动条获得最大值。
16.37:游戏开始的时候,whoseTurn中的值是X,如果游戏结束,whoseTurn设置为空。
16.38:如果游戏尚未结束,用户点击单元格,则将在单元格中显示whoseTurn的当前值。如果游戏结束。用户点击一个空的单元格,什么都不会发生,单元格仍然是空的。
16.39:该程序通过调用isWon(whoseTurn)方法检查所有行/列/对角线是否具有相同的标记,并通过调用isFull()方法检查是否占用所有的单元格
16.40: 从一个 URL 创 建 一 个 Media 对 象,利用new Media(url)实现,创 建 一 个 MediaPlayer,利用new MediaPlayer(media)实现,创 建 一 个MediaView ,利用new MediaView(mediaPlayer)实现。
16.41: 如果 URL 输人成 cs.armstrong.edu/liang/common/sample.mp4, 前面不包含 http://, 程序将不可以运行。
16.42: 可以将一个 Media 置于多个 MediaPlayer 中,也可以将一个 MediaPlayer 置于多个 MediaView中,但是却不可以将一个 MediaVi ew 置于多个 Pane 中。
16.43: 程序清单 16-15 中,
ImageView imageView = new ImageView(images[currentIndex]);
代码设置了初始图像图标;
Mp[currentIndex].play();
代码播放音频
16.44:在程序淸单16-15 中,当选择一个新的国家时,程序将停止音频,设置新图像并播放新音频。