主要包含标签 按钮 复选框 单选按钮 文本框 文本区 组合框 列表视图 控键是结点Node的子类
1.标签类
在单行面板上添加两个标签,并调用相应的方法设置标签上的元素和相应属性
package yuan;
//filename:App14_10.java
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Label;//加载标签类
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.image.Image; //加载图像类
import javafx.scene.image.ImageView; //加载图像视图类
import javafx.geometry.Insets;
import javafx.scene.control.Tooltip; //加载信息提示工具类
import javafx.scene.layout.HBox;
public class APP14_10 extends Application
{
Label lab1=new Label(“JavaFX”); //创建标签
Label lab2=new Label(“祖国中心”);
Font fon=new Font(“Cambria”,30); //创建字体对象
@Override
public void start(Stage primaryStage){
HBox hbp=new HBox(); //创建单行面板对象
hbp.setSpacing(5); //设置面板中结点之间的间距
hbp.setPadding(new Insets(10,10,10,10)); //设置面板四周边缘外侧空白距离
Image imb=new Image(“image/*.jpg”); //用*.jpg创建图像对象imb
ImageView iv1=new ImageView(imb); //创建显示图像对象iv1
iv1.setFitWidth(120); //设置图像试图的宽度为120像素
iv1.setPreserveRatio(true); //设置保存缩放比例
lab1.setGraphic(iv1); //将图像"*"设置在标签上
lab1.setTextFill(Color.RED); //设置标签上文字的颜色为红色
lab1.setFont(fon); //设置标签上文字的字体
lab2.setFont(new Font(“黑体”,20)); //设置标签上文字的字体和大小
lab2.setRotate(270); //设置标签顺时针旋转270度
lab2.setTranslateY(50); //垂直方向向下平移50个像素
lab2.setStyle("-fx-border-color:blue"); //设置表现lab2的边框颜色为蓝色
Tooltip t=new Tooltip(“我是标签2”); //创建提示信息对象
t.setStyle("-fx-background-color:green;-fx-opacity:0.8");
Tooltip.install(lab2,t); //设置当鼠标悬停在标签lab2上的提示信息
hbp.getChildren().addAll(lab1,lab2); //将标签添加到面板hbp中
hbp.setStyle("-fx-border-color:red;-fx-background-color:lightgray");
Scene scene=new Scene(hbp,400,150);
primaryStage.setTitle(“标签的应用”);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String [] args) {
Application.launch(args);
}
}
2.文本编辑控件 TextField PasswordFiled TextArea 与滚动面板ScrollPane
在窗口利用面板组织文本编辑控件,并利用滚动面板实现文本区的滚动功能
package yuan;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextArea;
import javafx.scene.layout.GridPane;
import javafx.scene.control.ScrollPane;
import javafx.geometry.Insets;
public class App14_11 extends Application{
final Label lab1=new Label(“用户名:”);
final Label lab2=new Label(“密 码:”);
final PasswordField pf=new PasswordField(); //创建密码文本框pf
final TextField tf=new TextField(); //创建文本框对象tf
final TextArea ta=new TextArea(“你好,我是文本区”); //创建文本区对象ta
@Override
public void start(Stage primaryStage) {
// TODO Auto-generated method stub
GridPane rootGP=new GridPane(); //创建网络面板对象rootGP
rootGP.setPadding(new Insets(10,8,10,8));
rootGP.setHgap(5); //设置面板上节点之间的水平间距
rootGP.setVgap(5); //设置面板上节点之间的垂直间距
tf.setPromptText(“输入用户名”); //设置用户名文本框中的提示文本
rootGP.add(lab1,0,0); //将lab1添加到网络面板的第0行第0列单元格
rootGP.add(tf,1,0); //将tf添加到网络面板的第0行第1列单元格
pf.setPromptText(“输入密码”); //设置密码文本框中的提示文本
rootGP.add(lab2,0,1); //将lab2添加到网络面板的第1行第0列单元格
rootGP.add(pf,1,1); //将tf添加到网络面板的第1行第1列单元格
Button bt1=new Button(“确认密码”);
Button bt2=new Button(“编辑文本”);
rootGP.add(bt1,0,2); //将bt1添加到网络面板的第2行第0列单元格
rootGP.add(bt2,1,2); //将lab2添加到网络面板的第2行第1列单元格
final ScrollPane scro=new ScrollPane(ta); //创建滚动面板,将其显示内容设置为ta
ta.setPrefColumnCount(12); //创建文本区的显示宽度为12列
ta.setEditable(false); //设置文本区不可编辑
rootGP.add(scro,2,0,4,3); //将滚动面板添加到网络的第2列第0行,且占4列三行
Scene scene=new Scene(rootGP,400,120);
primaryStage.setTitle(“网格与文本控件”);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String [] args) {
Application.launch(args);
}
}
3.复选框CheckBox和单选按钮RadioButton
package yuan; //复选框和单选按钮的应用
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.control.CheckBox;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.geometry.Pos;
public class App14_12 extends Application{
final CheckBox chk1=new CheckBox(“粗体”); //创建复选框chk1
final CheckBox chk2=new CheckBox(“斜体”);
final CheckBox chk3=new CheckBox(“楷体”);
final RadioButton rb1=new RadioButton(“红色”); //创建单选按钮rb1
final RadioButton rb2=new RadioButton(“绿色”);
final RadioButton rb3=new RadioButton(“蓝色”);
final Button bt1=new Button(“确认”);
final Button bt2=new Button(“取消”);
final TextArea ta=new TextArea(“我是文本区”);
@Override
public void start(Stage primaryStage){
chk2.setSelected(true); //设置"斜体"复选框为选中状态
VBox vbL=new VBox(3); //创建单列面板vbl,组件间距为3像素
vbL.getChildren().addAll(chk1,chk2,chk3);//将复选框添加到vbl面板中
rb1.setSelected(true); //设置红色单选按钮为选中状态
final ToggleGroup gro=new ToggleGroup();//创建单选按钮组gro
rb1.setToggleGroup(gro);
rb2.setToggleGroup(gro);
rb3.setToggleGroup(gro);
VBox vbR=new VBox(3); //创建单列面板vbr
vbR.getChildren().addAll(rb1,rb2,rb3); //将3个单选按钮添加到vbr面板中
HBox hB=new HBox(20); //创建单行面板hb,组间距为20像素
hB.getChildren().addAll(bt1,bt2); //将命令按钮添加到单行列表中
hB.setAlignment(Pos.CENTER); //设置水平面板中的结点水平对齐
BorderPane rootBP=new BorderPane(); //创建边界面板rootBP作为根面板
ta.setPrefColumnCount(10); //设置文本区的显示宽度为10列
ta.setPrefRowCount(3); //设置文本区的显示高度为3行
ta. setWrapText(true); //设置文本区自动换行
rootBP.setLeft(vbL); //将复选框的面板vbl放置在边界面板的左部区域
rootBP.setRight(vbR); //将单选按钮的面板vbr放置在边界面板的*区域
rootBP.setCenter(ta); //将文本区ta放置在边界面板的*区域
rootBP.setBottom(hB); //将按钮的面板Hb放置在边界面板的底部区域
Scene scene=new Scene(rootBP);
primaryStage.setTitle(“复选框与单选按钮”);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String [] args) {
Application.launch(args);
}
}
4.选项卡面板TabPane和选项卡Tab
在窗口放置一个选项卡面板,并在选项卡面板中添加两个选项卡,每个选项卡中放置有一个结点控件
package yuan;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.TabPane;
import javafx.scene.control.Tab;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
public class App14_13 extends Application{
@Override
public void start(Stage stage){
TabPane tabPane=new TabPane(); //创建选项卡面板对象tabPane
Tab tab1=new Tab(); //创建不带标题的选项卡对象tab1
tab1.setText(“第一个选项卡”); //设置选项卡标题
tab1.setClosable(false); //设置选项卡tab1不可以被关闭
tab1.setContent(new Circle(200,200,30,Color.PINK));//将选项卡添加到tab1上
Tab tab2=new Tab(“第二个选项卡”); //创建带有标题的选项卡对象tab2
Image imb=new Image(“image/祖国.jpg”); //用祖国.jpg创建对象imb
ImageView iv=new ImageView(imb); //创建显示图像对象iv
iv.setFitHeight(100); //设置对象视图的高度为100像素
iv.setPreserveRatio(true); //设置保持存放比例
tab2.setContent(new Label("",iv)); //将含有图像的标签添加到选项卡tab2上
tabPane.getTabs().addAll(tab1,tab2); //将选项卡添加到选项卡面板上
Scene scene=new Scene(tabPane,230,100);
stage.setTitle(“选项卡面板与选项卡”);
stage.setScene(scene);
stage.show();
}
public static void main(String [] args) {
Application.launch(args);
}
}