1、VBox:类似Android的LinearLayout竖向布局
2、HBox:类似Android的LinearLayout横向布局
布局里面添加控件:
vBox.getChildren().addAll()
添加多个或者add()添加一个
设置布局里面控件之间的边距:
hbox.setSpacing(10);
设置宽度/高度:
textField.setPrefWidth(300);
textField.setPrefHeight(300);
设置textArea自动换行:
textArea.setWrapText(true);
textArea自动滚动到底部:
print.appendText("追加文本,然后下面代码滚动到底部");
print.selectEnd();
print.deselect();
固定窗口大小不可调节:
primaryStage.setResizable(false);//固定大小不可调节
子线程里面需要更新UI的话:(类似Android里面的runOnUiThread())
Platform.runLater(() -> {
//todo
});
拖拽文件或文字到窗口上面:
//拖拽到vBox控件里面
private void onDragInit(VBox vBox, TextField fileInputPath) {
vBox.setOnDragOver(event -> {
if (event.getGestureSource() != vBox){
event.acceptTransferModes(TransferMode.ANY);
}
event.consume();
});
vBox.setOnDragDropped(event -> {
Dragboard db = event.getDragboard();
boolean success = false;
if (db.hasFiles()){
try {
File file = db.getFiles().get(0);
if (file != null) {
String absolutePath = file.getAbsolutePath();
fileInputPath.setText(absolutePath);//把路径写到这个文本框里面
}
success = true;
}catch (Exception e){
System.err.println(e.toString());
}
}else if (db.hasString()) {
fileInputPath.setText(db.getString());//如果拖拽的是文字,就把文字写到文本框里面
success = true;
}
event.setDropCompleted(success);
event.consume();
});
}
弹窗:
第一个参数可以选Alert.AlertType.里面的message、WARNING、Error等
Alert alert = new Alert(Alert.AlertType.WARNING, "请先选择翻译文档!"); alert.show();
文件选择器:
public void selectFile(TextField textField, Stage primaryStage) {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("选择翻译文档");
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Excel files (*.xlsx)", "*.xlsx");
fileChooser.getExtensionFilters().add(extFilter);
File file = fileChooser.showOpenDialog(primaryStage);
if (file != null) {
textField.setText(file.getPath());
}
}
文件夹选择器:
public void selectFileOutDir(Hyperlink label, Stage primaryStage) {
DirectoryChooser directoryChooser = new DirectoryChooser();
File file = directoryChooser.showDialog(primaryStage);
if (file != null) {
String path = file.getPath();//选择的文件夹路径
label.setText(path);
}
}
打开文件/文件夹目录:
File file = new File(path);
if (file.exists()) {
Desktop.getDesktop().open(file);
}
悬停文本提示:
Tooltip tooltip = new Tooltip();
tooltip.setText("提示的文本");
labelOutPath.setTooltip(tooltip);//悬停在labelOutPath控件上的时候显示提示文字
监听文本变化:
//labelOutPath.text改变的时候,把text也设置给tooltip.text
tooltip.textProperty().bind(labelOutPath.textProperty());
版权声明:本文为qq_35584878原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。