当前位置: 首页 > news >正文

建网站价格 建设网站需要多少钱做软件工资高还是网站

建网站价格 建设网站需要多少钱,做软件工资高还是网站,友点企业网站,常州建设网站声明#xff1a;参考视频 一. Stage与Scene 舞台与场景#xff1a;JavaFX应用程序将Ul容器定义为舞台#xff08;Stage#xff09;与场景#xff08;Scene#xff09;Stage类是顶级容器#xff0c;它对应于窗体#xff0c;其内容由Scene决定。Scene类是所有可视化内容…声明参考视频 一. Stage与Scene 舞台与场景JavaFX应用程序将Ul容器定义为舞台Stage与场景SceneStage类是顶级容器它对应于窗体其内容由Scene决定。Scene类是所有可视化内容的容器container可以把它看成是一张画布上面绘制了用户可以看到的内容。Scene Graph 其实就是一颗多叉树各种控件都是树中的节点。控件树的节点支持事件响应。最底层节点通常都是诸如按钮之类的控件也可以是Circle之类的图形。拥有子树节点称为容器在JavaFX中成为“布局Layout”.这样做以后可以在窗口Stage中切换Scene从而实现随时切换页面同时也可以新建Stage从而实现打开多个窗口。 二. Java FX MVC架构 多窗体通信 核心点在MainClass初始化窗口时将MainClass的引用传给相应窗口的控制器。之后在每个窗口的控制器中通过MainClass的引用完成从窗口的打开以及主从窗口的通信。      在主窗口中打开新的窗口 在MainClass初始化主窗口时可以将MainClass的引用传给相应从窗口的控制器然后在主窗口的控制器中通过MainClass的引用调用打开的窗口的函数从而打开新的窗口。     在从窗口中关闭从窗口 在MainClass初始化从窗口时将从窗口的stage传给从窗口的控制器在从窗口的控制器中调用stage.close(),从而关闭从窗口。     主窗口接收从窗口的信息在MainClass初始化从窗口时将主窗口的控制器的引用传给从窗口的控制器在从窗口的控制器中调用主窗口控制器的相应方法,从而在主窗口中显示信息。     从窗口接收主窗口的信息在MainClass初始化从窗口时将MainCLass的引用传给从窗口的控制器在主窗口的控制器中通过MainCLass的引用的调用相应方法,从而在从窗口中显示信息。 demo下载 注意在项目中加入资源时将资源放在与包名同名的resources路径下以此来方便使用资源文件。如下图所示在项目编译时会将resources下的资源放到同名的包中。 三. 事件处理机制 事件响应模式 传统的事件响应模式Lamda事件响应模式声明式事件响应模式 //传统的事件响应模式 this.btn.setOnAction(new EventHandlerActionEvent() {Overridepublic void handle(ActionEvent actionEvent) {welcomeText.setText(Hello World!);}}); //Lamda事件响应模式 private void getRandomInt(ActionEvent actionEvent){Random random new Random();int i random.nextInt();welcomeText.setText(String.valueOf(i));} this.btn2.setOnAction(this::getRandomInt);// 声明式事件响应模式 //fxml文件中 onAction#事件名 Button fx:idbtn3 layoutX229.0 layoutY287.0 mnemonicParsingfalse onAction#handleRandowm text声明式事件响应 / FXML public void handleRandowm(ActionEvent actionEvent) {Random random new Random();int i random.nextInt();welcomeText.setText(String.valueOf(i));}事件派发链 事件在控件树的传播流程成为事件派发连 1事件派发链实际上是一个双向链表由事件目标对象负责创建。 2事件触发时事件对象在链中传送 3事件响应方法分为EventFilter和EventHandler两类接收事件对象作为参数。 如下图所示 //统一事件处理方法输出event对象相关属性值//有参数决定是否消费此事件private void handleAndConsumd(Event event,boolean isConsumd,String msg) {if (isConsumd) {event.consume();}String info String.format(Type:%s,source:%s,target:%s,consume:%s,msg:%s,event.getEventType(), event.getSource(),event.getTarget(),event.isConsumed(), msg);System.out.println(info);}void initListener(){borderpane.addEventFilter(MouseEvent.MOUSE_PRESSED,event - handleAndConsumd(event, true, borderpane filter mouse pressed));borderpane.addEventHandler(MouseEvent.MOUSE_PRESSED, event - handleAndConsumd(event, false, borderpane handler mouse pressed));vbox.addEventFilter(MouseEvent.MOUSE_PRESSED, event - handleAndConsumd(event, false, vbox filter mouse pressed));vbox.addEventHandler(MouseEvent.MOUSE_PRESSED, event - handleAndConsumd(event, false, vbox handler mouse pressed));circle.addEventFilter(MouseEvent.MOUSE_PRESSED, event - handleAndConsumd(event, false, circle filter mouse pressed));circle.addEventHandler(MouseEvent.MOUSE_PRESSED, event - handleAndConsumd(event, false, circle handler mouse pressed));}Overridepublic void initialize(URL url, ResourceBundle resourceBundle) {initListener();} 三. JavaFX数据绑定机制及应用 JavaFX Bean Property: 包括get, set,以及property方法JAVA FX Property具有动态监听property.addListner()和数据绑定property.bind()等特性。 JavaFX数据绑定的编程模式 应用 分析可以将变化的数据统一抽象为IntegerProperty,进行数据绑定然后add 和sub只管更改IntergerProperty控件上有property属性的直接进行绑定没有的话可以通过addListner()进行绑定 IntegerProperty integerProperty new SimpleIntegerProperty(0);Overridepublic void initialize(URL url, ResourceBundle resourceBundle) {arc.setStartAngle(90);arc.setLength(-0);#绑定数据numLabel.textProperty().bind(integerProperty.asString());addBtn.disableProperty().bind(integerProperty.greaterThanOrEqualTo(100));subBtn.disableProperty().bind(integerProperty.lessThanOrEqualTo(0));integerProperty.addListener((observableValue, number, t1) - {arc.setStartAngle(90);arc.setLength(-t1.intValue() * 3.6);bar.setProgress(t1.intValue() / 100.0);});}FXMLpublic void sub(ActionEvent actionEvent) {integerProperty.set(integerProperty.get() - 10);}FXMLpublic void add(ActionEvent actionEvent) {integerProperty.set(integerProperty.get() 10);}demo下载 四.Java FX实现MVVM架构 业务逻辑代码单独抽离抽离出来view与ViewModel进行数据绑定控制器调用业务逻辑代码进行相应。 demo下载 五.多线程 Runnable 对象 对于比较耗时的任务需要使用多线程技术但对UI控件的修改必须在JavaFX application thread中执行因此可以使用 Platform.runLater() 推送到JavaFx application thread中执行修改UI控件的任务。 Runnable task ()- {try {//TODO: 执行耗时任务的代码Thread.sleep(1000);//Lambda表达式执行的任务将会被推送到JavaFx application thread中执行//因此里面可以有直接访问UI控件的代码Platform.runLater(()-{//TODO: 执行修改UI控件的代码});} catch (InterruptedException e) {// TODO Auto-generated catch block} };Task对象有返回值里面封装了updateMessage(),updateProgress()修改UI控件的函数。
http://www.hkea.cn/news/14474608/

相关文章:

  • 网站建设与管理t7372烟台元和网络科技有限公司
  • 低价格网站建设网站备案 查询
  • 青岛网站推广途径电脑做网站用word
  • 群晖网站建设处理错误500好用的wordpress模板下载地址
  • 外包岗百度快速seo软件
  • 惠州附近做商城网站建设哪家好购物网站建设优缺点
  • 企业网站服务器重庆市建设工程信息网电话
  • 百度网站推广怎么收费正邦品牌设计公司简介
  • 西安做网站的公司地址个人工作室网站怎么做
  • 深圳网站设计制作公司 维仆wordpress多个域名
  • 厦门茶叶公司 网站建设网站空间的申请
  • php管理系统 网站模版中国建筑信息查询平台
  • 做网站编辑好还是期刊编辑好深圳市政设计院
  • 太原网络营销网站沾化网站建设
  • 品牌网站建设费学做网站论坛会员账号
  • 老区建设网站小智logo在线制作
  • 网站如何seowordpress 标签 中文
  • 电子商务网站建设维护实训报告网站在线建设方案
  • 襄阳网站seo诊断网站建设找翰诺
  • 网站更新后 为什么不显示个人主页设计html代码
  • 百度如何推广网站鼓楼微网站开发
  • 网站的反链要怎么做falsh网站模板下载
  • html代码入门基础四川seo哪里有
  • 可以免费浏览的网站媒体发稿平台
  • 互联网c2c交易类网站详细策划书3d网站开发
  • 免费制作软件的网站西安教育类网站建设公司
  • 网站备案 座机课程网站资源建设小结
  • 做网站需要ftp吗重庆做商城网站建设
  • 国家建设部网站查询wordpress 聚合6
  • 网站首页设置伪静态设计 网站