当前位置: 首页 > 知识库问答 >
问题:

为什么要在自己的方法中创建节点?

田远
2023-03-14

我看到很多javafx代码如下所示:

 private Button getButton(){
      Button myButton = new Button("A button");
      myButton.setOnAction...
 }
 private HBox toolbar(){
      Button file = new Button("File");
      Button edit = new Button("Edit");
      Button props = new Button("Properties");
      HBox toolbarArea = new Hbox();
      toolbarArea.getChildren().add(file, edit, props);
 }

我对为什么要这样做的解释很感兴趣(我还没有找到)。

共有1个答案

柯瀚海
2023-03-14

小方法方法适用于internet演示代码

与其使用小方法来定义UI元素,还不如使用以下方法:

  1. 非常长的方法,除非应用程序非常简单。
  2. FXML定义的UI(通常用于非琐碎的示例,但对于小型演示来说冗长且不必要)。
  3. 分开封闭对象和类(如果只需要聚合现有控件,有时会过度使用)。

看看这个博客上的评论中关于JavaFX编程风格的讨论。这是基于这个原始的时钟应用程序示例,它没有使用小方法,以及一个更新的时钟应用程序示例,它是围绕许多小方法构建的。Per's Lundholm对原始代码的评论是这样的:

做得不好的一个典型标志是你写评论的时候。不要在你的代码中写注释,写出没有注释读起来很好的代码!我读了你的代码,我认为它实际上是不可读的,恕我直言。这是一个很长的方法,其中包含了很少或没有意义的常数。如果给我这样一个代码来改变,不管它只是修复一个小bug,我开始提取方法‘直到我删除。这是理解代码的最快方法。

我建议您检查这两个示例代码库,并决定您希望维护哪一个。我的猜测是,您将决定使用许多小方法的版本将更容易阅读和维护。

 类似资料:
  • 每一个国家的都有其特殊国情,主要是原因是中国的网络太慢,及中国存在大量老旧的计算机,它们预装着window XP,IE浏览器最高只能升级到IE8, 出于这两方面的原因,我们需要一个体积更少,兼容性更好的React。并且之前facebook也闹过LICENSE问题,更是促进中国互联网公司决定自主研发框架,努力摆脱对外国框架的依赖。 对于我们公司而言,一个旅游公司, 在线上订火车票,飞机票, 景点门票

  • 好吧,所以我试图在Java创建自己的LinkedList类(带有泛型类型),但是遇到了一些问题。我创建了一个LinkedListNode类,它基本上设置并获取next和right指针以及节点的键。我的LinkedList类代码发布在下面,如果您编译并运行,您会发现它没有按照应该的方式设置列表。此刻,我正在尝试在节点x之后插入节点y,但我的打印输出看起来像: 键:5-上一键:6-下一键:6键:6-上

  • 问题内容: 如何在GEdit关键字列表中添加“关键字”?我基本上想使printf函数看起来像一个关键字。 问题答案: GEdit使用GtkSourceView突出显示语法。通过键入以下命令,您应该能够找到用于突出显示C代码的文件: 找到lang文件后,请在文本编辑器(这是一个XML文件)中将其打开,然后在底部附近会看到一列应该添加的关键字列表。

  • 有ManyToOne链接的表。每个学生被分配一个方向从教育方向。当我创建学生时,所选方向被重新创建。为什么在创建学生时创建方向? 学生: 教育方向: 学生道:

  • 不幸的是,这段代码运行速度比“os.walk”慢,但为什么呢? 会不会是“为”循环导致它运行缓慢? 类似于“os.walk”的代码:(“os.walk”函数完成它的功能) 注意:我写信是为了提高自己!: 例如: 2秒内结束: 在0.5秒内:

  • 我想为所有alertDialog实例创建一个不同的主题。我需要我自己的标题视图,而不是通常的黑色标题背景。所有文本应为蓝色,并将alertDialog的边缘设置为圆形。 是否可以使用任何样式或创建扩展的类,为警报对话框创建我们自己的主题?我的alertDialog的所有实例都需要一个公共主题或样式。我在很多地方使用alertDialog—一个用于单选项,一个用于ArrayAdapter。 我的al