JavaFX开发简单记事本遇到的一些小问题及其解决

我用的是Scene Builder进行界面设计,然后自动生成FXML文件,再用Controller进行后端控制

##不同界面切换

可以通过生成一个Stage来创建一个新的窗口,也可以通过创建一个新的Scene来替换原有窗口的场景。

            Stage stage = new Stage();
			Parent root = FXMLLoader.load(getClass().getResource("SaveSuccess.fxml"));
			Scene scene = new Scene(root);
			stage.setScene(scene);
			stage.show();

##不同界面的交互

fxml文件对应的控制器的获取,注意获取到的只是类,而非对象。

EditController editcontroller = fxmlloader.getController();

fxml文件已形成的场景上节点(Node)的获取

Button findbutton = (Button) scene.lookup("#findbutton");

已知节点的窗口的获取,获取后可以在另一个控制器中对原有窗口的关闭,场景替换等操作

Stage stage = (Stage) button.getScene().getWindow();
stage.close();

同时,对于一些信息的交流我是直接用Static String或Static Number进行存储,便于交流
也可以采用绑定来进行信息交流

double textheight = textarea.heightProperty().get() / anchorPane.heightProperty().get();
textarea.prefHeightProperty().bind(anchorPane.heightProperty().multiply(textheight));

不同窗口的优先级设置

stage.initModality(Modality.APPLICATION_MODAL);   
//设置该窗口为最高优先级,也可以通过窗口互相绑定设置各个窗口的关系

##关于文字的设置
可以用font的设置

textarea.setFont(new Font(14.0)); 

也可以用lambda表达式进行设置

textarea.setStyle("-fx-text-fill:#e7ea0b00");

更多的学习可以点这个网站!
一个适合新手的Java FX学习网站

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值