目录
题目:*16.12(演示TextArea的属性)
编写一个程序,演示文本域的属性。程序使用复选框表明文本是否换行,如图16-41a所示。
-
习题思路:
- 新建一个TextArea,创建一个ScrollPane,传入参数TextArea
- 创建一个HBox,新建两个复选框,Editable与Wrap,表示可编辑和换行
- 创建一个BorderPane,把ScrollPane设置在中心,把HBox设置在底部
- 为两个复选框注册事件,当复选框被勾选时把TextArea对应的方法设置为true
- 创建Scene并运行代码
-
代码示例
编程练习题16_12PropertiesOfTextArea.java
package chapter_16;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class 编程练习题16_12PropertiesOfTextArea extends Application{
@Override
public void start(Stage primaryStage) throws Exception {
TextArea textArea = new TextArea();
textArea.setEditable(false);
textArea.setWrapText(false);
ScrollPane scrollPane = new ScrollPane(textArea);
HBox hBox = new HBox(10);
hBox.setAlignment(Pos.CENTER);
CheckBox chkEditable = new CheckBox("Editable");
CheckBox chkWrap = new CheckBox("Wrap");
hBox.getChildren().addAll(chkEditable, chkWrap);
BorderPane borderPane = new BorderPane();
borderPane.setCenter(scrollPane);
borderPane.setBottom(hBox);
chkEditable.setOnAction(e ->{
if(chkEditable.isSelected()) {
textArea.setEditable(true);
}else
textArea.setEditable(false);
});
chkWrap.setOnAction(e ->{
if(chkWrap.isSelected()) {
textArea.setWrapText(true);
}else
textArea.setWrapText(false);
});
Scene scene = new Scene(borderPane,530, 180);
primaryStage.setTitle("编程练习题16_12PropertiesOfTextArea");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
-
结果展示