
JavaFX
MAIMIHO
大王叫我来巡山
展开
-
JavaFX 剪切板 Clipboard
剪切板 Clipboard粘贴文本KeyCombination kc = new KeyCodeCombination(KeyCode.V, KeyCombination.SHORTCUT_DOWN);scene.getAccelerators().put(kc, new Runnable() { @Override public void run() { Clipboard clipboard = Clipboard.getSystemClipboard();原创 2020-07-09 21:13:12 · 1686 阅读 · 0 评论 -
JavaFX FileChooser & DirectoryChooser
FileChooser & DirectoryChooser选择文件, 选择文件夹Button button1 = new Button("单选");Button button2 = new Button("多选");Button button3 = new Button("保存");Button button4 = new Button("文件夹选择");ObservableList<Node> children = root.getChildren();childr原创 2020-07-09 21:12:31 · 861 阅读 · 0 评论 -
JavaFX Menu MenuButton&SplitMenuButton SeparatorMenuItem&SubMenu
MenuButton&SplitMenuButtonMenuButtonMenuButton menuButton = new MenuButton("MenuButton");menuButton.getItems().addAll(menuItem1, separatorMenuItem, menuItem2, menuHistory,cmi1, cmi2, cmi3);SplitMenuButtonSplitMenuButton splitMenuButton = new Sp原创 2020-07-09 21:02:30 · 435 阅读 · 0 评论 -
JavaFX Menu ContextMenu
ContextMenuContextMenu contextMenu = new ContextMenu();MenuItem contextMenu1 = new MenuItem("contextMenu1");MenuItem contextMenu2 = new MenuItem("contextMenu2");MenuItem contextMenu3 = new MenuItem("contextMenu3");//MenuItem点击contextMenu1.setOnActio原创 2020-07-09 21:01:19 · 466 阅读 · 1 评论 -
JavaFX Menu RadioMenuItem&CheckMenuItem&CustomMenuItem
MenuItemRadioMenuItemToggleGroup toggleGroup = new ToggleGroup();RadioMenuItem rmi1 = new RadioMenuItem("RadioMenuItem1");RadioMenuItem rmi2 = new RadioMenuItem("RadioMenuItem2");RadioMenuItem rmi3 = new RadioMenuItem("RadioMenuItem3");toggleGroup.g原创 2020-07-02 20:31:11 · 372 阅读 · 0 评论 -
JavaFX Menu SeparatorMenuItem&SubMenu
SeparatorMenuItem&SubMenuSeparatorMenuItem直接添加到 MenuItem 中间SeparatorMenuItem separatorMenuItem = new SeparatorMenuItem();menu1.getItems().addAll(menuItem1, separatorMenuItem, menuItem2,menuHistory);SubMenu添加一个 Menu 到 MenuItem 中Menu menuHisto原创 2020-07-02 20:30:33 · 243 阅读 · 0 评论 -
JavaFX Menu MenuBar&Menu&MenuItem
MenuBar&Menu&MenuItemMenuBar menuBar = new MenuBar();Menu menu1 = new Menu("File");Menu menu2 = new Menu("Edit");Menu menu3 = new Menu("Help");menuBar.getMenus().addAll(menu1, menu2, menu3);menu1.setOnShowing(new EventHandler<Event>()原创 2020-07-02 20:29:14 · 546 阅读 · 1 评论 -
Java11 class FXMLLoaderHelper cannot access Utils because module javafx.graphics does not export
Exception in Application start methodjava.lang.reflect.InvocationTargetExceptionCaused by: java.lang.RuntimeException: Exception in Application start method at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:原创 2020-06-01 23:31:07 · 1584 阅读 · 1 评论 -
JavaFX 读取剪切板图片并保存图片到本地
JavaFX 读取剪切板图片并保存图片到本地使用 JavaFX Clipboard APIClipboard clipboard = Clipboard.getSystemClipboard();Image image = clipboard.getImage();BufferedImage bImage = SwingFXUtils.fromFXImage(image, null);File file = new File("D:/image.png");ImageIO.write(bImag原创 2020-06-01 22:08:23 · 1204 阅读 · 2 评论 -
JavaFX Effect
EffectDropShadowInnerShadowShadowBoxBlurGaussianBlurMotionBlurBloomGlowSepiaToneReflectionColorAdjustLighting&Shadow原创 2020-05-31 14:26:22 · 372 阅读 · 0 评论 -
JavaFX 背景填充
StackPane stackPane = new StackPane();stackPane.setPrefSize(300, 300);// x|y 填充起始坐标// width|height proportional 为true 代表缩放比例, 为false 代表实际尺寸ImagePattern imagePattern = new ImagePattern(new Image("image/portrait.jpg"), 0, 0, 0.5, 0.5, true);stackPane.s.原创 2020-05-31 14:25:53 · 2655 阅读 · 0 评论 -
JavaFX 边框&背景
边框&背景Background background = new Background(new BackgroundFill(Paint.valueOf("#088"), new CornerRadii(20), new Insets(10)));button.setBackground(background);Border border = new Border(new BorderStroke(Paint.valueOf("#0ff"), BorderStrokeStyle.SOLID,原创 2020-05-31 14:24:11 · 4891 阅读 · 1 评论 -
JavaFX CSS
CSS编写 CSS#root { -fx-background-color: #ccc;}.custom { -fx-background-color: #088;}.label { -fx-text-fill: #0af;}.label:hover { -fx-text-fill: #f08; -fx-font-size: 30;}Java 代码加载 CSSScene scene = new Scene(root);URL sampleCss = ge原创 2020-05-31 14:23:40 · 690 阅读 · 0 评论 -
JavaFX Stage
Stage尺寸primaryStage.setWidth(600);primaryStage.setHeight(600);primaryStage.setMaxWidth(1000);primaryStage.setMaxHeight(800);primaryStage.setMinWidth(300);primaryStage.setMinHeight(300);//不可改变窗口大小primaryStage.setResizable(false);获取宽高//show之后获取原创 2020-05-30 10:44:55 · 636 阅读 · 0 评论 -
JavaFX 尺寸&边界&位置&坐标
尺寸&边界&位置&坐标min max preButton button = new Button("ButtonButtonButtonButton");button.setMinWidth(100);button.setPrefWidth(120);button.setMaxWidth(150);button.getWidth() //父组件提供的宽度//类似 wrap_contentbutton.setPrefWidth(Button.USE_COMPUTED_原创 2020-05-30 10:43:29 · 3926 阅读 · 1 评论 -
JavaFX 布局操作
布局操作添加子控件root.getChildren().add()监听子控件改变children.addListener(new ListChangeListener<Node>() { @Override public void onChanged(Change<? extends Node> c) { System.out.println("c = " + c); }});隐藏显示button.setManaged(boo原创 2020-05-30 10:42:56 · 381 阅读 · 0 评论 -
JavaFX 控件 Hyperlink WebView HTMLEditor
Hyperlink WebView HTMLEditorHyperlinkHyperlink hyperlink = new Hyperlink("www.baidu.com");hyperlink.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { HostServices hostServices = getHost原创 2020-05-29 22:26:48 · 331 阅读 · 0 评论 -
JavaFX 控件 Dialog
DialogDialogDialog<ButtonType> dialog = new Dialog<>();dialog.setTitle("Title");dialog.setHeaderText("HeaderText");dialog.setContentText("ContentText");ImageView imageView = new ImageView("image\\portrait.jpg");imageView.setFitWidth(50)原创 2020-05-29 22:23:47 · 1691 阅读 · 0 评论 -
JavaFX 控件 ChoiceBox
ChoiceBox基础使用ChoiceBox<String> choiceBox = new ChoiceBox<>();choiceBox.getItems().addAll("item1", "item2", "item3");//设置选中choiceBox.setValue("item1");//设置选中choiceBox.getSelectionModel().select("item3");//设置选择监听choiceBox.getSelectionMo原创 2020-05-29 22:22:45 · 4108 阅读 · 0 评论 -
JavaFX 控件 ComboBox
ComboBox基础使用ComboBox<String> comboBox = new ComboBox<>();comboBox.getItems().addAll("item1", "item2", "item3", "item4", "item5");//数据源为空时显示comboBox.setPlaceholder(new Label("Placeholder"));//设置可编辑comboBox.setEditable(true);comboBox.set原创 2020-05-29 22:22:13 · 6083 阅读 · 0 评论 -
JavaFX 控件 Separator
SeparatorSeparator separator1 = new Separator();Separator separator2 = new Separator();Button button1 = new Button("Button1");Button button2 = new Button("Button2");Button button3 = new Button("Button3");Button button4 = new Button("Button4");HBo原创 2020-05-28 20:37:57 · 536 阅读 · 0 评论 -
JavaFX 控件 Pagination
PaginationPagination pagination = new Pagination();pagination.setPageCount(20);pagination.setMaxPageIndicatorCount(10);pagination.setCurrentPageIndex(5);//设置样式pagination.getStyleClass().add(Pagination.STYLE_CLASS_BULLET);pagination.setPageFactory(原创 2020-05-28 20:37:23 · 1388 阅读 · 0 评论 -
JavaFX 控件 ColorPicker
ColorPickerColorPicker colorPicker = new ColorPicker();//设置ColorcolorPicker.setValue(Color.valueOf("#00cccc"));//获取ColorColor color = colorPicker.getValue();//监听颜色改变colorPicker.valueProperty().addListener(new ChangeListener<Color>() { @Ov原创 2020-05-28 20:36:54 · 481 阅读 · 0 评论 -
JavaFX 控件 DatePicker
DatePickerDatePicker datePicker = new DatePicker(LocalDate.now());datePicker.setEditable(false);//选择监听datePicker.valueProperty().addListener(new ChangeListener<LocalDate>() { @Override public void changed(ObservableValue<? extends Lo原创 2020-05-28 20:36:08 · 2739 阅读 · 0 评论 -
JavaFX 控件 ButtonBar
ButtonBarButtonBar buttonBar = new ButtonBar();//排序规则buttonBar.setButtonOrder(ButtonBar.BUTTON_ORDER_NONE);Button apply = new Button("APPLY");Button okDone = new Button("DONE");Button cancelClose = new Button("CANCEL");ButtonBar.setButtonData(apply原创 2020-05-28 20:35:29 · 1008 阅读 · 0 评论 -
JavaFX 控件 Slider
Slider//min max valueSlider slider = new Slider(0, 10, 5);//设置当前值slider.setValue(6);slider.setPrefWidth(300);slider.setMinWidth(300);slider.setMaxWidth(300);//显示标尺slider.setShowTickMarks(true);//显示文字slider.setShowTickLabels(true);//是否对齐到标尺sl原创 2020-05-27 21:30:43 · 1324 阅读 · 0 评论 -
JavaFX 控件 Spinner
Spinner样式//最小, 最大, 默认值, 步长Spinner<Integer> spinner1 = new Spinner<>(0, 10, 5, 2);Spinner<Double> spinner2 = new Spinner<>(0.0, 10.0, 5, 0.5);spinner1.setEditable(true);ObservableList<String> items = FXCollections.obs原创 2020-05-27 21:30:09 · 1775 阅读 · 0 评论 -
JavaFX 控件 ProgressBar&ProgressIndicator
ProgressBar&ProgressIndicatorProgressBarProgressBar pb = new ProgressBar();pb.setPrefWidth(300);//设置进度pb.setProgress(0.5);pb.getProgress();//设置不确定进度pb.setProgress(ProgressBar.INDETERMINATE_PROGRESS);//进度监听pb.progressProperty().addListener(ne原创 2020-05-27 21:29:25 · 887 阅读 · 0 评论 -
JavaFX 控件 RadioButton&CheckBox
RadioButton&CheckBoxRadioButtonRadioButton rb1 = new RadioButton("rb1");RadioButton rb2 = new RadioButton("rb2");RadioButton rb3 = new RadioButton("rb3");RadioButton rb4 = new RadioButton("rb4");ToggleGroup toggleGroup = new ToggleGroup();toggl原创 2020-05-27 21:28:38 · 662 阅读 · 0 评论 -
JavaFX 控件 ImageView
ImageView支持格式:BMP GIF JPEG PNG//加载图片//如果设置了 requestedXXX 尺寸, ImageView中 设置 FitXXX 尺寸是基于requestedXXX 尺寸缩放Image image = new Image( String url,double requestedWidth,double requestedHeight,boolean preserveRatio,boolean smooth,boolean backgr原创 2020-05-26 22:47:58 · 5544 阅读 · 1 评论 -
JavaFX 控件 Button
Button[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t1kKWotn-1590504353861)(https://cdn.jsdelivr.net/gh/luoshuaidev/luoshuaidev.github.io@image/20200525212148.png)]Button button = new Button("Button");Tooltip tooltip = new Tooltip();tooltip.setText("TooltipT原创 2020-05-26 22:46:27 · 736 阅读 · 0 评论 -
JavaFX 控件 TextArea
TextAreaTextArea textArea = new TextArea();textArea.setPrefColumnCount(20);textArea.setPrefRowCount(30);textArea.setPromptText("PromptText");//自动换行textArea.setWrapText(true);textArea.setText("setText");//setTexttextArea.appendText("appendText");//原创 2020-05-26 22:45:45 · 7159 阅读 · 0 评论 -
JavaFX 控件 Label Text TextField PasswordField
Label Text TextField PasswordFieldLabelLabel label = new Label();label.setText("Label");label.setFont(Font.font(30));//颜色label.setTextFill(Paint.valueOf("#088"));Text//获取安装的字体Font.getFamilies();Text text = new Text();//颜色text.setFill(Paint.val原创 2020-05-26 22:45:10 · 792 阅读 · 0 评论 -
JavaFX 布局 TabPane&Tab
TabPane&TabTabPane tabPane = new TabPane();tabPane.setPrefWidth(200);tabPane.setPrefHeight(200);tabPane.setStyle("-fx-background-color: #0ac");Tab tab1 = new Tab("Tab1");Tab tab2 = new Tab("Tab2");Tab tab3 = new Tab("Tab3");tab1.setGraphic原创 2020-05-25 21:05:30 · 3786 阅读 · 1 评论 -
JavaFX 布局 ScrollPane
ScrollPaneStackPane stackPane = new StackPane();stackPane.setStyle("-fx-background-color: #0cc; -fx-background-insets: 200");stackPane.setPrefWidth(600);stackPane.setPrefHeight(600);ScrollPane scrollPane = new ScrollPane();scrollPane.setMaxWidth(30原创 2020-05-25 21:05:01 · 1964 阅读 · 0 评论 -
JavaFX 布局 DialogPane
DialogPaneStage stage = new Stage();DialogPane dialogPane = new DialogPane();dialogPane.setHeaderText("HeaderText");dialogPane.setContentText("ContentText");ImageView imageView = new ImageView("image\\portrait.jpg");imageView.setFitWidth(50);imag原创 2020-05-25 21:04:29 · 1957 阅读 · 0 评论 -
JavaFX 布局 TitledPane
TitledPaneVBox vBox = new VBox(new Button("Button1"), new Button("Button2"), new Button("Button3"));TitledPane titledPane1 = new TitledPane("TitledPane1", vBox);//图标方位titledPane1.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);VBox vBox2 = new VBo原创 2020-05-25 20:47:52 · 1017 阅读 · 0 评论 -
JavaFX 布局 TextFlow
TextFlow子文本控件(Text)自动换行TextFlow textFlow1 = new TextFlow();Text text1 = new Text("Text1Text1Text1Text1Text1Text1");Text text2 = new Text("Text2Text2Text2Text2Text2Text2");textFlow1.getChildren().addAll(text1, text2);textFlow1.setTextAlignment(Tex原创 2020-05-25 20:47:23 · 1114 阅读 · 0 评论 -
JavaFX 布局 StackPane
StackPane类似于 FrameLayoutStackPane root = new StackPane();root.setAlignment(Pos.CENTER);StackPane.setAlignment(button1, Pos.TOP_LEFT);StackPane.setAlignment(button2, Pos.TOP_RIGHT);原创 2020-05-24 21:41:51 · 3215 阅读 · 1 评论 -
JavaFX 布局 BorderPane
BorderPaneCenter 会扩展剩余空间BorderPane root = new BorderPane();root.setTop(new Label("Top"));root.setLeft(new Label("Left"));root.setRight(new Label("Right"));root.setBottom(new Label("Bottom"));root.setCenter(new Label("Center"));原创 2020-05-24 21:40:56 · 1626 阅读 · 0 评论